Einführung
Wenn Sie an einem Git-Repository gearbeitet haben, möchten Sie manchmal Ihren letzten Commit rückgängig machen. Glücklicherweise hat Git einen speziellen Zeiger namens HEAD, der auf das neueste Commit in dem lokalen Zweig zeigt, an dem Sie gerade arbeiten.
Um einen Commit rückgängig zu machen, müssen Sie den HEAD auf die vorherige Commit-ID des aktuellen Arbeitszweigs verweisen.
Dieses Tutorial zeigt Ihnen, wie Sie den letzten Commit in Git rückgängig machen können.
Den letzten Commit rückgängig machen
Sie können den folgenden Befehl verwenden, um die Änderungen in Git rückgängig zu machen:
$ git reset <commit-id>
Es gibt einige zusätzliche Argumente, die mit dem git reset-Befehl einhergehen:
–soft:Aktualisiere den HEAD auf einen bestimmten Commit, während das aktuelle Arbeitsverzeichnis und der Staging-Index nicht geändert werden.
–mixed:Aktualisiere den HEAD auf einen bestimmten Commit und ändere den Staging-Index auf den angegebenen Commit, während das aktuelle Arbeitsverzeichnis nicht geändert wird. Diese Option ist die Standardoperation, wenn der Befehl git reset ohne Argumente verwendet wird.
–hard:Aktualisiert den HEAD und ändert sowohl das aktuelle Arbeitsverzeichnis als auch den Staging-Index auf das angegebene Commit. Wenn Sie diese Option verwenden, denken Sie daran, dass alle lokalen Änderungen, die Sie nicht festgeschrieben haben, verloren gehen.
Soft-Reset
Um zu vermeiden, dass die Änderungen, die Sie am aktuellen Arbeitsverzeichnis und Staging-Index vorgenommen haben, verloren gehen, wenn Sie die letzte Festschreibung rückgängig machen, führen wir den folgenden Befehl aus:
$ git reset --soft HEAD~1
HEAD~1 bedeutet ein Commit vor HEAD (das vorherige Commit des letzten Commit).
Bevor Sie den letzten Commit rückgängig machen:
Nach dem Rückgängigmachen des letzten Commits mit der Option –soft:
Hard-Reset
Wenn Sie die Änderungen, die Sie am aktuellen Arbeitsverzeichnis und an lokalen Dateien vorgenommen haben, die nicht festgeschrieben wurden, nicht behalten möchten, führen Sie den Befehl git reset mit der Option –hard aus:
$ git reset --hard HEAD~1
Ausgabe:
Schlussfolgerung
Sie haben die Verwendung des Befehls git reset zum Rückgängigmachen des letzten Commits in Git ausführlich behandelt. Es ist wirklich ein mächtiger Befehl bei der Arbeit mit Git.
Wenn Sie Fragen haben, hinterlassen Sie bitte Ihren Kommentar im folgenden Abschnitt.