git löst Konflikte aus früheren Zusammenführungen, ohne die Zusammenführung erneut auszuführen

8

Ich habe zwei Zweige zusammengeführt. Hat viele Konflikte. Sie alle gelöst. Jetzt bin ich mir nicht sicher, vielleicht habe ich bei der Konfliktlösung einen Fehler gemacht. Und ich sehe keine andere Möglichkeit zu überprüfen, ob es wahr ist - führe einfach wieder zusammen und überprüfe Konflikte nacheinander.

Dies bedeutet, dass ich einen weiteren Zweig erstellen muss, um die Ergebnisse meiner Zusammenführung zu speichern, richtig?

Kann ich es vermeiden? Vielleicht ist es möglich, alle in Konflikt stehenden Dateien mit all diesen <<<<<< , ====== , >>>>>> von irgendwo in git zu bekommen, ohne Merge noch einmal auszuführen?

    
shytikov 15.06.2012, 09:33
quelle

2 Antworten

3

Wenn Sie sehen möchten, was die Zusammenführung getan hat, können Sie

tun %Vor%

Wenn Sie die gesamte Zusammenführung wiederholen möchten, tun Sie

%Vor%

Wenn Sie die Zusammenführung wiederholen und dann die zweite Zusammenführung mit der ersten Zusammenführung vergleichen möchten (um zu überlegen, ob es besser war), können Sie Folgendes tun:

%Vor%

Dies gibt Ihnen den Hash des aktuellen Commits. Notieren Sie es. Dann mach

%Vor%

Beenden Sie die Zusammenführung, und führen Sie dann den Vergleich der Zusammenführungen durch

%Vor%

Wenn Sie der Meinung waren, dass die ursprüngliche Zusammenführung besser war, können Sie

verwenden %Vor%     
Klas Mellbourn 15.03.2013 22:36
quelle
2

Ja, es ist trivial. Zuerst müssen Sie die ID sha1 des Zusammenführungs-Commits mit git log finden. Wenn du das nächste machst:

%Vor%

Sie werden in einem Zustand ohne Kopf sein. ^n bedeutet das n-te Elternteil eines Commits. Daher werden keine Zweige erstellt. Sie könnten Konflikte noch vorsichtiger lösen und dann

%Vor%

um zu sehen, ob es Unterschiede in den Konfliktlösungen gibt.

BTW, verzweigen Sie in einen git einfach einen menschenfreundlichen Namen für einen sha1 eines Commits, also haben Sie keine Angst, sie so viel wie Sie wollen zu erstellen.

PS: Wenn Sie in Windows arbeiten, ist ^ symbol in der Befehlszeile speziell, Sie müssen es verdoppeln oder Befehlszeilenargumente angeben.

    
kan 15.03.2013 23:53
quelle

Tags und Links