Git-Zusammenführung abbrechen
Mario möchte zum Beispiel die neuesten Änderungen aus dem Remote-Repository in sein Repository namens save-princess
ziehen. Mario verwendet git pull origin branch1
, bekommt aber einen Merge-Konflikt-Fehler, weil die lokal geänderte Datei im Remote-Repository save-princess
von Luigi
modifiziert wurde.
Ein Zusammenführungskonflikt tritt auch auf, wenn zum Beispiel Luigi
dieselbe Datei in derselben Zeile wie Mario
bearbeitet hat, oder Luigi
die Datei gelöscht hat, die Mario
bearbeitet hat, oder wenn Mario
versucht, dieselbe Datei hinzuzufügen mit dem gleichen Namen, der bereits von Luigi
hinzugefügt wird. Git zeigt eine Meldung an, wenn während des git pull
ein Zusammenführungskonflikt aufgetreten ist. In einfachen Worten, ein Zusammenführungskonflikt tritt auf, wenn zwei Änderungen dieselbe Datei in derselben Zeile betreffen.
Im Folgenden finden Sie einige Möglichkeiten zum Lösen von Zusammenführungskonflikten.
Merge-Konflikt durch Stashing von Änderungen in Git auflösen
Eine Möglichkeit zum Auflösen von Konflikten besteht darin, die lokal vorgenommenen Änderungen zu speichern und die gespeicherten Änderungen dann erneut wiederherzustellen, nachdem der Zusammenführungskonflikt verschwunden ist. Das kann erreicht werden durch:
-
Verstecke die Änderungen
git stash
-
Abrufen von Änderungen aus dem Remote-Repository.
git fetch
git pull origin save-princess
save-princess
ist hier der Name des Zweigs, der sowohl in lokalen als auch in entfernten Repositorys vorhanden ist. -
Pop die versteckten Änderungen
git stash pop
Wenn nach der Zusammenführung Probleme auftreten, können Sie die aktuellen Änderungen vor der Zusammenführung jederzeit rückgängig machen.
Um die Zusammenführung abzubrechen, können Sie Folgendes verwenden:
git merge --abort
Der obige Befehl ähnelt reset, wodurch unser Commit vor der Zusammenführung auf die aktuelle Version zurückgesetzt wird.
git reset --hard