Junior
Wie kann man den letzten Commit im Versionskontrollsystem rückgängig machen?
sobes.tech KI
Antwort von AI
Beim Einsatz von Git gibt es mehrere Möglichkeiten:
1. Den letzten Commit rückgängig machen, Änderungen beibehalten:
git reset --soft HEAD~1
# Macht den letzten Commit rückgängig, die indexierten Änderungen bleiben bestehen
# Das Arbeitsverzeichnis ändert sich nicht
2. Den letzten Commit rückgängig machen, die indexierten Änderungen verwerfen, aber die Arbeitsänderungen behalten:
git reset --mixed HEAD~1
# Macht den letzten Commit rückgängig und verwirft die Indexierung der Änderungen
# Das Arbeitsverzeichnis ändert sich nicht
3. Den letzten Commit vollständig rückgängig machen, inklusive Änderungen:
git reset --hard HEAD~1
# Macht den letzten Commit vollständig rückgängig
# Die indexierten Änderungen und das Arbeitsverzeichnis werden auf den Zustand vor dem letzten Commit zurückgesetzt
# Alle ungespeicherten Änderungen im Arbeitsverzeichnis gehen verloren
4. Einen neuen Commit erstellen, der die Änderungen des letzten rückgängig macht:
git revert HEAD
# Erstellt einen neuen Commit, der die Änderungen des letzten Commits rückgängig macht
# Die Historie bleibt erhalten, dies ist eine sichere Methode bei der Arbeit mit öffentlichen Branches
Die Wahl hängt vom gewünschten Ergebnis ab und davon, ob der Branch veröffentlicht wurde. --hard sollte mit Vorsicht verwendet werden, da es zum Datenverlust führen kann. git revert ist vorzuziehen, wenn mit Branches gearbeitet wird, die von anderen Entwicklern genutzt werden.