Menu
Coddy logo textTech

Git: Einen Merge abbrechen

Zuletzt aktualisiert

Wenn ein git merge auf Konflikte stößt und du lieber zurückrudern möchtest, statt sie zu lösen, bricht git merge --abort den Merge ab und stellt deinen Branch exakt in den Zustand zurück, in dem er vor dem Start war. Es ist der saubere Notausgang aus einem Merge, der schiefgelaufen ist.

Einen bereits abgeschlossenen Merge machst du anders rückgängig - siehe unten. Probiere diese Befehle im Terminal-Playground aus - einer echten Shell in deinem Browser.

git merge --abort bricht den konfliktbehafteten Merge ab und versetzt den Branch in den Zustand vor Beginn des Merges zurück.

Syntax

CommandWhat it does
git merge --abortBricht einen Merge mit Konflikten ab und stellt den Zustand vor dem Merge wieder her
git reset --mergeÄlteres Äquivalent - bricht den Merge ab und setzt ihn zurück
git merge --quitVerlässt den Merge, behält aber den Arbeitsbaum so, wie er ist

Einen bereits abgeschlossenen Merge rückgängig machen

Anders als das Abbrechen - der Merge-Commit existiert bereits.

SituationCommand
Der Merge ist lokal, nicht gepushtgit reset --hard ORIG_HEAD
Der Merge ist bereits gepushtgit revert -m 1 <merge-hash>

Git Merge abbrechen - FAQ

Wie breche ich einen laufenden Merge ab?
Führe git merge --abort aus. Wenn ein Merge wegen Konflikten gestoppt hat und du sie nicht lösen möchtest, bricht dies die gesamte Operation ab und bringt deinen Branch und Arbeitsbaum genau in den Zustand zurück, in dem sie vor dem Start des Merge waren.
Was ist der Unterschied zwischen git merge --abort und git reset --merge?
Sie erledigen im Wesentlichen dieselbe Aufgabe - einen laufenden Merge abzubrechen und den Zustand vor dem Merge wiederherzustellen. git merge --abort ist der moderne, eigens dafür gedachte Befehl; git reset --merge ist der ältere Weg, der weiterhin funktioniert. Bevorzuge git merge --abort der Klarheit halber.
Wie mache ich einen bereits abgeschlossenen Merge rückgängig?
Das ist kein Abbruch, da der Merge-Commit bereits existiert. Ist der Merge nur lokal, setzt git reset --hard ORIG_HEAD den Branch dorthin zurück, wo er vor dem Merge stand - das funktioniert auch nach einem Fast-forward, wo HEAD~1 versagen würde. Es verwirft nicht committete Arbeit, prüfe also zuerst git status. Hast du den Merge bereits gepusht, verwende git revert -m 1 <merge-hash>, um ihn rückgängig zu machen, ohne die geteilte Historie umzuschreiben.
Gehen beim Abbrechen eines Merge meine anderen Änderungen verloren?
git merge --abort stellt den Zustand von unmittelbar vor dem Merge wieder her, sodass die Änderungen des Merge verworfen werden, deine eigene committete Arbeit aber intakt bleibt. Wenn du vor dem Start des Merge nicht committete Änderungen hattest, committe oder stashe sie zuerst - der Abbruch stellt den Commit-Zustand vor dem Merge wieder her.
Kann ich das online üben?
Ja. Öffne den Terminal-Playground, um git merge --abort in einer echten Shell in deinem Browser auszuführen - nichts zu installieren. Coddys kostenloser interaktiver Git-Kurs behandelt auch das Mergen und das Lösen von Konflikten Schritt für Schritt.
Coddy programming languages illustration

Lerne Git mit Coddy

LOS GEHT'S