81 Stimmen

Was sind A, B und C im KDIFF-Zusammenführen

Warum erhalte ich drei Auswahlmöglichkeiten, wenn ich zwischen meinem Code und dem Code einer anderen Person zusammenführe? Sollte es nicht nur meinen Code, den Code der anderen Person und die Ausgabe darunter geben? Die Dokumentation für KDIFF hilft mir nicht beim Verstehen.

78voto

Th 00 mÄ s Punkte 3714

A bezieht sich auf die Version, auf der Ihr Zusammenführungsziel basiert. Wenn Sie von einem Zweig in den Stamm zusammenführen, wird 'A' die vorherige Stammversion sein.

B ist das, was Sie derzeit in Ihrem lokalen Stammverzeichnis haben, einschließlich lokaler Änderungen.

C ist die Version, die Sie auf B zusammenführen möchten.

39voto

eldarerathis Punkte 34379

Sie machen anscheinend ein dreiseitiges Merge, daher sollte A die Basisrevision sein, auf der B und C basieren, B ist deren und C ist Ihre (denke ich; B und C könnten jedoch auch umgekehrt sein).

14voto

Nikhil Vartak Punkte 4822

A (BASIS) ‐‐> Die Originaldatei, die derzeit im Remote-Repository liegt.
B (LOKAL) ‐‐> Deine Datei. Hier werden nur deine Änderungen im Vergleich zu A angezeigt.
C (REMOTE) ‐‐> Ihre Datei. Hier werden nur ihre Änderungen im Vergleich zu A angezeigt.

Wenn die Änderungen in verschiedenen Codezeilen vorliegen, nimmst du sie von B und C. Wenn die Änderungen in denselben Codezeilen vorliegen (Konflikt), nimmst du entweder von B oder C.

13voto

RollerCosta Punkte 4712

A ist Ihre Elternversion, mit B und C als Kindern.
Das bedeutet, dass B die Änderungen enthält, die von Benutzer1/repo1 an A vorgenommen wurden, und C auch die Änderungen an A enthält, jedoch von einem anderen Benutzer (Benutzer2/repo2)

kdiff bietet Ihnen die Möglichkeit, entweder die Änderungen von B oder C auszuwählen (oder beide) oder auch von Eltern 'A'

3voto

Aleks Tkachenko Punkte 624

Wenn ich git rebase ausgeführt habe, war meine Beobachtung dass: C - ist das, was sich in meinem_branch lokal befindet (also was ich vor dem Rebase-Vorgang in meinem Editor gesehen habe und Konflikte auftraten). B - der Zweig, auf den ich meinem_branch aufgesetzt habe (sagen wir der Master-Zweig zum Beispiel). A - die Basisrevision von B & C (was in diesem Fall für mich nicht sehr wichtig war)

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X