Wie kann man in Git Änderungen verwerfen?
- Unstaged Änderungen verwerfen
- Gestagte Änderungen verwerfen
- Alle nicht committeten Änderungen verwerfen
- Fazit zum Verwerfen von Änderungen in Git
In der Versionsverwaltung mit Git kann es vorkommen, dass man gemachte Änderungen im Arbeitsverzeichnis rückgängig machen möchte. Dies betrifft insbesondere ungespeicherte Modifikationen an Dateien, die entweder noch nicht zum Staging-Bereich hinzugefügt wurden oder bereits gestaged sind. Der Vorgang des Verwerfens von Änderungen ist essenziell, um den Zustand des Projekts wieder in einen sauberen, vorherigen Zustand zurückzusetzen.
Unstaged Änderungen verwerfen
Wenn du Änderungen an Dateien vorgenommen hast, diese aber noch nicht mit git add in die Staging-Area übernommen hast, kannst du diese Änderungen verwerfen und die Datei wieder auf den zuletzt committeten Zustand zurücksetzen. Dies gelingt mit dem Befehl git restore <datei> oder alternativ mit dem etwas älteren Befehl git checkout -- <datei>. Damit werden die Änderungen im Arbeitsverzeichnis überschrieben und gehen verloren.
Gestagte Änderungen verwerfen
Wenn die Änderungen bereits mit git add zum Staging-Bereich hinzugefügt wurden, möchte man diese eventuell vom Staging entfernen und zum ursprünglichen Zustand zurückkehren. Man kann das mit dem Befehl git restore --staged <datei> tun. Dadurch wird die Datei aus dem Staging-Bereich entfernt, verbleibt jedoch mit den Änderungen im Arbeitsverzeichnis. Möchte man danach die Änderungen im Arbeitsverzeichnis ebenfalls verwerfen, nutzt man zusätzlich git restore <datei>.
Alle nicht committeten Änderungen verwerfen
Manchmal soll der gesamte Arbeitsbereich und der Staging-Bereich auf den letzten Commit zurückgesetzt werden, sprich alle gemachten Änderungen komplett verworfen werden. Dafür gibt es unterschiedliche Wege. Ein sicherer und moderner Weg ist zunächst git restore --staged . um das Staging zu löschen und dann git restore . um alle Arbeitsverzeichnis-Änderungen zu entfernen. Alternativ kann man auch git reset --hard nutzen, was Staging und Arbeitsverzeichnis gleichzeitig und unwiderruflich auf den HEAD zurücksetzt. Dies sollte vorsichtig angewandt werden, da alle nicht gespeicherten Änderungen unwiderruflich verloren gehen.
Fazit zum Verwerfen von Änderungen in Git
Das Verwerfen von Änderungen in Git ist ein wichtiger Bestandteil der Arbeitsweise mit Versionskontrolle, um falsche oder ungewollte Änderungen einfach rückgängig zu machen. Git bietet dafür differenzierte Befehle, abhängig davon, ob sich die Änderungen im Arbeitsverzeichnis oder im Staging-Bereich befinden. Moderne Git-Versionen empfehlen die Nutzung von git restore als klaren und strukturierten Weg, während git reset --hard für eine Komplett-Rücksetzung genutzt werden kann. Bei allen Operationen gilt: Vorsicht, da verlorene Änderungen nicht wiederhergestellt werden können.
