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
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
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.
13211600cookie-checkWie hebt man eine Git-Zusammenführung auf?yes