Letzten Commit in Git rückgängig machen
- Letzten Commit in Git rückgängig machen (Langversion)
- Letzten Commit in Git rückgängig machen (Kurzversion)
Bei der Arbeit mit Git begegnen wir verschiedenen Situationen, in denen wir den letzten Commit bewusst rückgängig machen wollen, weil wir ihn aufgrund von Fehlern, die wir in der Vergangenheit gemacht haben, ausgiebig neu festschreiben oder sogar komplett entfernen möchten. Stellen Sie sich nur vor, wie viele Leute noch Git verwenden würden, wenn es einfache Undo Last Commit
-Optionen oder sogar eine Tastenkombination hätte, die das beliebteste Feature wäre.
Wir haben einen unkomplizierten und leistungsstarken Befehl, der dasselbe tut wie oben beschrieben. Dieser Befehl ist wirklich mächtig, da er den letzten Commit verwirft und den HEAD (den aktuellen Zweig) in den Zustand zurückversetzt, in dem er sich befand, bevor der letzte Commit in diesem Repository durchgeführt wurde. Es mag für neue Git-Benutzer etwas verwirrend sein, aber sobald wir es in die Hände bekommen, wird es für unsere Git-Toolbox so einfach.
Letzten Commit in Git rückgängig machen (Langversion)
Öffnen Sie zuerst das gewünschte Terminal und führen Sie den Git-Status aus. Dies zeigt uns den Status unseres Repositorys, einschließlich der Liste aller Commits, die wir vorgenommen haben. Meistens sagt es, dass es drei Commits gibt.
Der erste ist ein Commit zu einem Zweig namens master
, dem Zweig, in dem wir uns gerade im Repository befinden. Der zweite ist ein Commit für einen neuen Zweig namens Dev
, und der dritte schließlich ist ein Commit für einen weiteren Zweig namens NewDev
.
Die letzten beiden sind interessant, da wir sie rückgängig machen wollen. Wir wollen den Commit, den wir an Dev
und NewDev
vorgenommen haben, verwerfen und den HEAD in den Zustand zurückversetzen, in dem er sich befand, bevor diese Commits vorgenommen wurden. Lassen Sie uns den folgenden Befehl ausführen und sehen, was danach passiert:
$ git reset --hard
HEAD befindet sich jetzt im vorherigen Zustand, in dem es zuvor war. Wie wir sehen können, ist der neue HEAD-Zeiger jetzt zurück zum nächsten Commit. Beachten Sie, dass es keinen Commit mehr gibt, der als Dev
gekennzeichnet ist. Außerdem ist der als NewDev
markierte Commit wieder auf nächster Commit
.
Letzten Commit in Git rückgängig machen (Kurzversion)
Wenn wir den letzten Commit rückgängig machen möchten, stellen Sie sicher, dass wir uns auf dem Zweig befinden, von dem wir den Commit rückgängig machen möchten, und führen Sie dann git reset –hard aus. Wenn wir den letzten Commit auf dem aktuellen Zweig rückgängig machen möchten, stellen Sie sicher, dass wir uns auf master
befinden, und führen Sie dann den folgenden Befehl aus.
git reset --hard origin/master.
Die oben genannten Verfahren können nur angewendet werden, wenn wir absolut sicher sind, dass wir diese Änderungen nicht mehr benötigen. Aber umgekehrt, wenn wir diese Änderungen als nicht festgeschriebene lokale Änderungen in unserer Arbeitskopie benötigen, dann ist für diesen Fall der Befehl reset
unsere Lösung für dieses Problem:
$ git reset --soft HEAD~1
reset
macht unseren aktuellen HEAD-Zweig bis zu einem bestimmten Punkt rückgängig. In unserem oben erwähnten Beispiel befehlen wir, zum letzten Commit vor dem letzten Rückgängigmachen zurückzukehren – was vorteilhafterweise dazu führt, dass unser letztes Commit noch nicht erledigt ist. Das --soft
-Flag stellt sicher, dass die Änderungen in rückgängig gemachten Revisionen wiederhergestellt werden.
Abdul is a software engineer with an architect background and a passion for full-stack web development with eight years of professional experience in analysis, design, development, implementation, performance tuning, and implementation of business applications.
LinkedIn