Letzten Commit in Git rückgängig machen

Abdul Jabbar 30 Januar 2023
  1. Letzten Commit in Git rückgängig machen (Langversion)
  2. Letzten Commit in Git rückgängig machen (Kurzversion)
Letzten Commit in Git rückgängig machen

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 Jabbar avatar Abdul Jabbar avatar

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

Verwandter Artikel - Git Commit