Warum habe ich drei Möglichkeiten, wenn ich meinen Code mit dem eines anderen zusammenführe? Sollte es nicht nur meinen Code, den Code der anderen Person und die Ausgabe unten geben? Die Dokumentation für KDIFF hilft mir nicht zu verstehen.
Warum habe ich drei Möglichkeiten, wenn ich meinen Code mit dem eines anderen zusammenführe? Sollte es nicht nur meinen Code, den Code der anderen Person und die Ausgabe unten geben? Die Dokumentation für KDIFF hilft mir nicht zu verstehen.
Antworten:
Klingt so, als würden Sie eine Drei-Wege-Zusammenführung durchführen . A sollte also die Basisrevision sein, auf der B und C basieren, B gehört ihnen und C gehört Ihnen (ich glaube, B und C könnten jedoch das Gegenteil sein).
A bezieht sich auf die Version, auf der Ihr Zusammenführungsziel basiert. Wenn Sie von Zweig zu Amtsleitung zusammenführen, ist 'A' die vorherige Amtsleitungsversion.
B ist das, was Sie derzeit in Ihrem lokalen Trunk-Ordner haben, einschließlich lokaler Änderungen.
C ist die Version, die Sie über B zusammenführen möchten.
Eine (BASE) -> Originaldatei, die sich derzeit im Remote-Repo befindet.
B (LOKAL) - Ihre Datei. Dies zeigt nur Ihre Änderungen im Vergleich zu A.
C (REMOTE) -> Ihre Datei. Dies zeigt nur ihre Änderungen im Vergleich zu A.
Wenn sich die Änderungen in unterschiedlichen Codezeilen befinden, übernehmen Sie sowohl B als auch C. Wenn sich die Änderungen in denselben Codezeilen befinden (Konflikt), übernehmen Sie entweder B oder C.
A ist Ihre Elternrevision mit B und C als Kind .
Das heißt, B enthält die Änderungen, die Benutzer1 / Repo1 an A vorgenommen haben, und C enthält auch die Änderungen an A, jedoch von einem anderen Benutzer ( Benutzer2 / Repo2) ).
kdiff bietet Ihnen die Möglichkeit, entweder die Modifikation von b oder c (oder beide) oder vom übergeordneten Element auch 'A' auszuwählen.
Wenn ich das tat git rebase
, war meine Beobachtung, dass: C - das ist, was in my_branch lokal ist (dh in meinem Editor gesehen wurde, bevor die Rebase begann und Konflikte auftraten). B-Zweig Ich habe my_branch über (zum Beispiel Master-Zweig) A-Basis-Revision von B & C neu basiert (was mir in diesem Fall nicht allzu wichtig war).