Git-Zusammenführung abbrechen

Ashok Chapagai 19 Dezember 2022
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
Ashok Chapagai avatar Ashok Chapagai avatar

Ashok is an avid learner and senior software engineer with a keen interest in cyber security. He loves articulating his experience with words to wider audience.

LinkedIn GitHub

Verwandter Artikel - Git Merge