Wie kann man Änderungen in Git zurücksetzen?
- Einleitung: Was bedeutet "Änderungen zurücksetzen" in Git?
- Änderungen im Working Directory verwerfen
- Gestagte Änderungen zurücksetzen
- Änderungen vollständig verwerfen und auf letzten Commit zurücksetzen
- Fazit
Einleitung: Was bedeutet "Änderungen zurücksetzen" in Git?
In Git bedeutet "Änderungen zurücksetzen" das Verwerfen oder Zurücknehmen von Änderungen, die Sie an Dateien vorgenommen haben, entweder im Working Directory oder im Staging-Bereich. Dies kann notwendig sein, wenn Sie versehentlich Änderungen gemacht haben, die Sie nicht behalten möchten, oder wenn Sie den Zustand des Projekts auf einen vorherigen Stand zurückbringen wollen. Es gibt verschiedene Methoden, Änderungen zurückzusetzen, abhängig davon, ob die Änderungen bereits gestaged oder nur lokal bearbeitet wurden.
Änderungen im Working Directory verwerfen
Wenn Sie lokale Änderungen an Dateien vorgenommen haben, diese aber noch nicht mit git add zum Staging-Bereich hinzugefügt wurden, können Sie diese Änderungen mit dem Befehl git restore zurücksetzen. Dieser Befehl setzt die Datei auf den zuletzt im Repository gespeicherten Zustand zurück und verwirft damit alle lokalen Modifikationen. Zum Beispiel:
git restore dateiname
Alternativ können Sie mit dem älteren Befehl git checkout -- dateiname denselben Effekt erzielen, wobei git restore als moderner und klarer gilt.
Gestagte Änderungen zurücksetzen
Wenn Sie bereits Dateien mit git add zum Staging-Bereich hinzugefügt haben, diese Änderungen aber nicht committen möchten, können Sie das Staging mit git restore --staged dateiname rückgängig machen. Dabei bleiben die Änderungen im Working Directory erhalten, aber die Dateien werden aus dem Staging-Bereich entfernt.
Das bedeutet, dass die Dateien weiterhin lokal geändert sind, aber nicht mehr zur nächsten Commit-Operation gehören.
Änderungen vollständig verwerfen und auf letzten Commit zurücksetzen
Möchten Sie alle lokalen Änderungen komplett verwerfen, sowohl im Working Directory als auch im Staging-Bereich, können Sie den folgenden Befehl einsetzen:
git reset --hard
Dadurch wird der Zustand des Projekts auf den letzten Commit zurückgesetzt. Alle nicht committeden Änderungen gehen dabei verloren. Dieser Befehl sollte mit Vorsicht genutzt werden, da ein einmal ausgeführtes --hard reset nicht ohne weiteres rückgängig gemacht werden kann.
Fazit
Das Zurücksetzen von Änderungen in Git ist ein wichtiger Bestandteil des Workflows, der Ihnen erlaubt, Fehler zu korrigieren oder ungewollte Änderungen zu verwerfen. Je nachdem, ob Änderungen bereits gestaged sind oder nicht, und ob Sie die Änderungen behalten oder komplett verwerfen möchten, gibt es unterschiedliche Befehle wie git restore, git restore --staged und git reset --hard. Das Verständnis dieser Befehle hilft Ihnen, effizienter mit Git zu arbeiten und Ihren Arbeitsstand gezielt zu steuern.
