HOWTO · Git

Verstehen Sie die Git-Konfliktmarkierungen

In diesem Artikel werden wir Git-Merge-Konfliktmarker diskutieren.

In diesem Artikel werden wir Git-Konfliktmarker diskutieren.

Verstehen Sie die Git-Konfliktmarkierungen

Beim Abrufen von Änderungen aus dem Remote-Repository können Zusammenführungskonflikte auftreten. Die Zusammenführungskonfliktdatei kann manchmal verwirrend sein.

Eine typische Merge-Konfliktdatei sieht so aus:

<<<<<<< HEAD: file.txt
foo
=======
bar
>>>>>>> cb1abc6bd98cfc84317f8aa95a7662815417802d:file.txt

Lassen Sie uns die Elemente im obigen Zaun besprechen.

<<<<<<< HEAD:file.txt
foo
=======

Der obige Teil zeigt die Datei in Ihrem lokalen Repository. Der HEAD zeigt auf unseren Branch oder Commit.

=======
bar
>>>>>>> cb1abc6bd98cfc84317f8aa95a7662815417802d:file.txt

Der obige Teil zeigt die Änderungen, die Sie aus dem Remote-Repository vorgenommen haben. Das cb1abc6bd98cfc84317f8aa95a7662815417802d ist der hash oder die SHA1-Summe des Commit, das aus dem Remote-Repository zusammengeführt wird.

Das bedeutet, dass beim Ausführen eines git pull-Befehls, der im Grunde eine Kombination aus git fetch und git merge ist, die obere Hälfte die lokalen Änderungen anzeigt. Im Gegensatz dazu stellt die untere Hälfte die Remote-Änderungen dar, die vom Remote-Repository in das lokale Repository eingeführt werden.

Beim Ausführen des Befehls git rebase origin/master stellt der obere Teil die Upstream-Änderungen dar, während die untere Hälfte die lokalen Änderungen anzeigt, die zusammengeführt werden.

Sie müssen diese Teile manuell bearbeiten und die Ergebnisse dann festschreiben.