Kann ich Git so einstellen, dass ich den Dreiwege-Vergleich in KDiff3 verwenden kann?Drei-Wege-Vergleich mit Git und KDiff3
Ich habe zwei Zweige, die viel zu unterschiedlich sind, um sie automatisch zusammenzuführen, ich muss einfach jeden Zusammenführungspunkt prüfen, und ich denke, der beste Weg wäre, den Zweig zu überprüfen, möchte ich die Änderungen aus dem anderen Zweig und sagen
git difftool HEAD_OF_OTHER_BRANCH -- .
Und dann wählen Sie Datei in KDiff3 zusammenführen. Nachdem ich die Dateien durchgegangen bin, die ich gerade gemacht habe.
Ich habe merge.conflictstyle und diff.conflictyle zu diff3 eingerichtet, aber KDiff3 startet immer noch mit einem bidirektionalen diff. Ist das möglich? Ich denke, wenn Git auch den Hash des gemeinsamen Vorfahrens als Parameter sendet, ist das möglich, aber tut es das?
Es gibt discussion darüber, wie dies mit SVN und BC3 zu tun, aber ich konnte nichts für Git und KDiff3 finden.
Wenn Sie versuchen, eine dreifache Zusammenführung zu tun, warum verwenden Sie nicht mergetool (anstelle von difftool)? –
Ich möchte nicht, dass Git irgendetwas automatisiert. Ich habe herausgefunden, dass ich vielleicht .gitattributes verwenden kann, um Git zu sagen, dass er nicht automatisch agieren soll. Trotzdem wird Merge das gesamte massive System auf einmal zusammenführen, ich würde das eher auf Verzeichnisbasis behandeln. Ja, das ist ein Durcheinander, aber meine Absicht ist es, es zu reinigen. Dafür muss ich leider etwas Handarbeit machen. – Makis
@Makis: Es scheint sinnvoll, eine ordnungsgemäße Zusammenführung durchzuführen, aber eine Strategie zu verwenden, die den 'binären' Merge-Treiber nicht über '.gitattributes' automatisch macht oder erzwingt, um Konflikte für den Benutzer zu lösen. Auf diese Weise können Sie mit mergetool kdiff3 auf logische Weise starten. –