Verwenden Sie immer die Version aus dem gemischten Zweig bei Konflikten

8

Momentan arbeite ich in einem Feature-Zweig, der bald wieder zum Master zusammengeführt wird. Ich habe kürzlich genau das versucht und hatte einige Zusammenführungskonflikte, die ich manuell beheben musste.

Ist es also möglich, git anweisen, immer die Version aus dem fusionierten Zweig zu verwenden, um Zusammenfügungskonflikte vorher zu vermeiden? In diesem Fall habe ich die Konflikte manuell behoben, habe aber immer die Version aus dem zusammengeführten Zweig gewählt, was mir einige mühsame Arbeit ersparen würde.

    
Max 28.05.2011, 07:09
quelle

2 Antworten

15

Sie können genau dies in Git mit dem folgenden Befehl tun, vorausgesetzt, dass feature der Name Ihres Feature-Zweigs ist:

%Vor%

Dies bedeutet, die "rekursive" Merge-Strategie zu verwenden, aber mit der Option "ihre". Dies bedeutet, dass bei einem Konflikt automatisch die Version des Hunks aus dem Feature-Zweig und nicht die aktuelle Verzweigung aufgelöst wird. (Beachten Sie, dass dies völlig anders ist als die Mergestrategie "ihrer", die jetzt aus Git entfernt wurde.)

Diese Funktion wurde in git v1.7.0 eingeführt.

    
Mark Longair 28.05.2011, 09:12
quelle
0

Sie können die rekursive "unsere" Strategie nicht verwenden. Es würde Ihre Änderungen auslassen, die nicht in Konflikt stehen.

Sie können Skripts verwenden, um die Dateinamen der konfliktbehafteten Dateien abzurufen, und einen git checkout --ours - Dateinamen gefolgt von einem git add filename erstellen.

Wenn Sie immer wieder die gleichen Konflikte bekommen, schalten Sie Rerere ein und das reicht vielleicht, damit Sie die Konflikte nicht lösen müssen.

Hoffe, das hilft.

    
Adam Dymitruk 28.05.2011 07:36
quelle