So machen Sie das letzte Git-Commit rückgängig

Das Rückgängigmachen des letzten Git-Commits ist eine häufige Aufgabe für Entwickler, die Änderungen rückgängig machen oder Fehler korrigieren müssen. Git bietet mehrere Methoden, um das letzte Commit rückgängig zu machen, sodass Sie einen sauberen und genauen Projektverlauf aufrechterhalten können. Zu diesen Methoden gehören das Zurücksetzen, Rückgängigmachen oder Ändern von Commits, wobei jede Methode unterschiedlichen Zwecken dient, je nachdem, ob Sie die Änderungen beibehalten oder verwerfen möchten.

In dieser Anleitung wird anhand praktischer Beispiele gezeigt, wie Sie das letzte Git-Commit rückgängig machen. Wenn Sie diese Techniken beherrschen, können Sie Ihren Git-Verlauf effizient verwalten und sicherstellen, dass Ihr Projekt gut organisiert und fehlerfrei bleibt.

Git Commit verstehen

Bevor wir uns damit befassen, wie man ein Git-Commit rückgängig macht, ist es wichtig zu verstehen, was ein Commit in Git bedeutet. Ein Commit stellt eine Momentaufnahme Ihrer Arbeit zu einem bestimmten Zeitpunkt dar. Es fasst alle Änderungen zusammen, die Sie seit dem letzten Commit vorgenommen haben. Jedes Commit wird eindeutig durch einen SHA-1-Hash identifiziert, sodass Git einen Änderungsverlauf pflegen kann.

Ein Git-Commit rückgängig machen

Es gibt zwei grundlegende Techniken, um ein Git-Commit rückgängig zu machen: git reset und git revert. Wir werden jede Methode im Detail besprechen, einschließlich ihrer Anwendungsfälle und Auswirkungen.

git reset --soft HEAD~1

Verwenden von „git reset“

Der Befehl git reset ist ein leistungsstarkes Tool, mit dem Sie Ihren aktuellen HEAD in einen bestimmten Zustand verschieben oder „zurücksetzen“ können. So verwenden Sie ihn, um Ihr letztes Commit rückgängig zu machen:

git reset --soft HEAD~1

In diesem Befehl stellt –soft sicher, dass Ihre Änderungen im Staging-Bereich erhalten bleiben, und HEAD~1 bezieht sich auf das Commit vor dem aktuellen. Die Änderungen aus dem rückgängig gemachten Commit bleiben in Ihrem Arbeitsverzeichnis und im Staging-Bereich erhalten.

Hier ist eine Beispielausgabe:

Unstaged changes after reset:
M    file1.txt
M    file2.txt

Dies zeigt an, dass die Änderungen in file1.txt und file2.txt jetzt nicht mehr bereitgestellt sind.

Wenn Sie das Commit und alle damit verbundenen Änderungen vollständig verwerfen möchten, können Sie die Option –hard verwenden:

git reset --hard HEAD~1

Gehen Sie bei diesem Befehl vorsichtig vor, da er alle Änderungen seit dem letzten Commit dauerhaft verwirft.

Verwenden von „git revert“

Der Befehl git revert erstellt ein neues Commit, das die in einem vorherigen Commit vorgenommenen Änderungen rückgängig macht. Dies ist eine sichere Möglichkeit, Änderungen rückgängig zu machen, da der vorhandene Commit-Verlauf dadurch nicht verändert wird. So können Sie es verwenden:

git revert HEAD

Dieser Befehl erstellt ein neues Commit, das die im letzten Commit vorgenommenen Änderungen rückgängig macht.

Hier ist eine Beispielausgabe:

[master 0a9b2aa] Revert "Add new feature"
 1 file changed, 1 insertion(+), 2 deletions(-)

Dies zeigt an, dass ein neues Commit erstellt wurde, das die Änderungen vom vorherigen Commit rückgängig macht.

Rückgängigmachen eines Git-Commits: Erweiterte Beispiele

Verwenden von „git reset“: Weitere Beispiele

Auf ein bestimmtes Commit zurücksetzen

Wenn Sie nicht nur das letzte Commit, sondern mehrere Commits rückgängig machen möchten, können Sie dies tun, indem Sie den Commit-Hash anstelle von angeben. HEAD~1. Zum Beispiel:

git reset --soft 9fceb02

Dieser Befehl verschiebt den HEAD zum Commit, das durch den Hash 9fceb02 angegeben ist, und die Änderungen aller Commits nach 9fceb02 werden im Staging-Bereich gespeichert.

Zurücksetzen nicht bereitgestellter Änderungen

Wenn Sie Änderungen vorgenommen, aber noch nicht festgeschrieben haben und diese Änderungen rückgängig machen möchten, können Sie „git reset“ ohne Commit-Referenz verwenden:

git reset --hard

Dieser Befehl macht alle nicht bereitgestellten Änderungen rückgängig und setzt Ihr Arbeitsverzeichnis auf den Zustand des letzten Commits zurück.

Verwenden von git revert: Weitere Beispiele

Einen Bereich von Commits zurücksetzen

Wenn Sie einen Bereich von Commits rückgängig machen möchten, können Sie den Bereich mit dem Befehl git revert angeben. Beispiel:

git revert HEAD~3..HEAD

Dieser Befehl erstellt neue Commits, die die in den letzten drei Commits vorgenommenen Änderungen rückgängig machen.

Einen bestimmten Commit rückgängig machen

Wenn Sie ein bestimmtes Commit rückgängig machen möchten, das nicht das aktuellste ist, können Sie dies durch Angabe des Commit-Hashes tun:

git revert 9fceb02

Dieser Befehl erstellt ein neues Commit, das die im durch den Hash angegebenen Commit vorgenommenen Änderungen rückgängig macht 9fceb02.

Abschluss

Git ist ein leistungsstarkes Tool und seine Komplexität kann für Anfänger entmutigend sein. Wenn Sie jedoch genau wissen, wie Sie ein Commit rückgängig machen, können Sie Git sicher navigieren. Ob Sie sich für git reset oder git revert entscheiden, hängt von Ihren spezifischen Anforderungen und den Auswirkungen der einzelnen Befehle ab. Denken Sie daran, dass der Schlüssel zur Beherrschung von Git Übung und Erkundung sind.

Joshua James
Folgen Sie mir
Letzte Artikel von Joshua James (Alle anzeigen)
Kategorien Git

Hinterlasse einen Kommentar