Wie hebt man eine Git-Zusammenführung auf?

Lesezeit: 3 Minuten

Benutzer-Avatar
rotAce

Ich habe aus Versehen eine git pull origin master von dev, und master wurde mit dev verschmolzen. Ist es möglich, die Zusammenführung aufzuheben?

Ich habe bereits verschiedene Lösungen gesehen, ich habe diese sowohl von dev als auch von master ausprobiert:
git revert -m 1 <commit> (jeweils einmal) Aber ich habe : Alles ist immer aktuell

Benutzer-Avatar
Andreas Wederbrand

Sie können Ihren Zweig auf den Zustand zurücksetzen, in dem er sich kurz vor der Zusammenführung befand, wenn Sie den Commit finden, auf dem er sich damals befand.

Eine Möglichkeit ist die Verwendung git reflog, es werden alle HEADs aufgelistet, die Sie hatten. Ich finde, dass git reflog --relative-date ist sehr nützlich, da es anzeigt, wie lange jede Änderung zurückliegt.

Sobald Sie diesen Commit gefunden haben, tun Sie einfach a git reset --hard <commit id> und dein Zweig wird sein, wie er vorher war.

Wenn Sie haben Quellbaumkönnen Sie nachschlagen <commit id> dort wenn git reflog ist zu überwältigend.

  • Da es sich um eine seltsame Zusammenführung handelt: “Pull Origin Master: Merge made by the ‘recursive’ Strategy” bin ich etwas verloren. Würden Sie mir raten, einen git reset –hard 757501b vom Master durchzuführen (obwohl es keine Änderungen im Verlauf gibt). Oder git reset –hard 14cbb9c von dev ?

    – rotAce

    8. März 2015 um 22:28 Uhr

  • Es ist die Entwicklung, die Sie reparieren müssen, richtig? Suchen Sie also den Commit, der auf dev kurz vor dieser fehlerhaften Zusammenführung durchgeführt wurde, und führen Sie den Reset auf dev auf diesen Commit durch.

    – Andreas Wederbrand

    9. März 2015 um 5:15 Uhr

  • git revert -m 1

    – mpoletto

    11. Oktober 2017 um 0:09 Uhr

  • Am schlimmsten ist, dass Sie diesen Ansatz NICHT anwenden sollten, wenn Sie einen Merge-Commit gepusht haben, da dies den Master-Zweig, der ihn gezogen hat, durcheinander bringt. Lieber zurücksetzen.

    – kaffeemann21

    24. Dezember 2019 um 6:25 Uhr

  • Du bist ein Lebensretter 🙂

    – Pe Dro

    1. August 2020 um 11:47 Uhr

Benutzer-Avatar
Stachelschwein

Wenn Sie die Zusammenführung nicht festgeschrieben haben, verwenden Sie Folgendes:

git merge --abort

  • Danke, es hat funktioniert, weil ich die Zusammenführung noch festschreiben muss 🙂

    – Woppi

    27. Dezember 2017 um 6:30 Uhr

  • @Eightgate, er hat ausdrücklich erwähnt: “Wenn Sie die Zusammenführung nicht festgeschrieben haben, verwenden Sie: git merge –abort”

    – So M

    15. Juni 2018 um 19:27 Uhr

  • Dies funktioniert, wenn Sie die Zusammenführung nicht ausgeführt haben, Prost.

    – daCoda

    29. Oktober 2020 um 3:13 Uhr

Wenn die Zusammenführung versehentlich von akzeptiert wurde git merge --continue oder ob die Änderungen wann automatisch festgeschrieben werden git pull <branch>dann können wir die letzte Zusammenführung durch Ausführen rückgängig machen oder rückgängig machen

git reset --merge HEAD~1

Dieser Befehl setzt unser Repository auf den letzten Commit zurück. HEAD bezieht sich auf den aktuellen Zustand Ihres Repositorys; HEAD~1 ist das letzte Commit in Ihrem Repository.

git revert -m ermöglicht das Rückgängigmachen der Zusammenführung, wobei der Verlauf sowohl der Zusammenführungs- als auch der Undo-Operation beibehalten wird. Vielleicht gut für die Dokumentation.

1321160cookie-checkWie hebt man eine Git-Zusammenführung auf?

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy