Wie kann ich lokale Änderungen in Git unter Windows versichern, ohne sie zu committen?
- Verwendung von Git Stash
- Stash mit Nachricht versehen
- Stash nur für bestimmte Dateien
- Alternative Methoden zum Sichern
- Zusammenfassung
Wenn du in einem Git-Repository unter Windows arbeitest und deine lokalen Änderungen sichern möchtest, ohne sie bereits zu committen, gibt es Möglichkeiten, dies zu erreichen. Dies ist besonders sinnvoll, wenn du deine aktuelle Arbeit vorübergehend "parken" möchtest, um beispielsweise an einem anderen Branch zu arbeiten oder Änderungen zurückzusetzen, ohne den aktuellen Stand zu verlieren.
Verwendung von Git Stash
Der gebräuchlichste Weg, lokale Änderungen zu sichern, ohne sie festzuschreiben (committen), ist die Nutzung von git stash. Dieser Befehl legt den aktuellen Arbeitszustand samt der Änderungen im Index und im Arbeitsverzeichnis in einem sogenannten Stash-Speicher ab. Dadurch kannst du deinen Arbeitsbaum wieder auf den sauberen Zustand des letzten Commits zurücksetzen lassen und später die Änderungen wiederherstellen.
Unter Windows verwendet man normalerweise die Eingabeaufforderung (cmd) oder PowerShell. Dort gibst du einfach den Befehl ein:
git stashDadurch werden alle nicht-committeten Änderungen temporär gesichert. Deine Arbeitskopie ist danach sauber, und du kannst beispielsweise zu einem anderen Branch wechseln.
Wenn du die gesicherten Änderungen wieder zurückholen möchtest, benutzt du:
git stash popDieser Befehl holt die Änderungen aus dem Stash zurück und entfernt sie aus dem Stash-Verzeichnis. Alternativ kannst du auch:
git stash applyverwenden, um sie zurückzuholen, jedoch ohne sie aus dem Stash zu löschen, falls du sie mehrfach brauchen möchtest.
Stash mit Nachricht versehen
Es ist auch möglich, den Stash mit einer Beschreibung zu versehen, damit du später leichter nachvollziehen kannst, was darin gespeichert wurde. Dies funktioniert mit:
git stash save "Beschreibung deiner Änderungen"In neueren Git-Versionen kann git stash push -m "Beschreibung" verwendet werden, um die gleiche Wirkung zu erzielen.
Stash nur für bestimmte Dateien
Manchmal möchtest du nur bestimmte Dateien stashen. Dies kannst du erreichen, indem du die Dateien explizit angibst:
git stash push -m "Teiländerungen" Pfad/zur/DateiOder mit dem alten Befehl:
git stash save -pwodurch du interaktiv auswählen kannst, welche Änderungen gestasht werden sollen.
Alternative Methoden zum Sichern
Eine andere Möglichkeit, falls du den Stash nicht nutzen möchtest, besteht darin, einfach deine geänderten Dateien manuell zu kopieren und extern zu speichern. Du kannst zum Beispiel die Dateien in einen anderen Ordner außerhalb deines Repositories kopieren. Dies ist jedoch weniger komfortabel und bietet nicht die gleichen Vorteile wie der Stash (z.B. einfache Wiederherstellung und Versionsverfolgung).
Darüber hinaus kannst du einen temporären Branch erstellen und deine Änderungen dort committen, wenn du sie wirklich sichern, aber nicht in deinem aktuellen Branch behalten möchtest. Das ist allerdings bereits ein Commit, den du technisch gesehen anlegst, was du eigentlich vermeiden möchtest. Trotzdem kann dieser Weg nützlich sein, wenn du eine saubere Historie behalten willst.
Zusammenfassung
Die empfehlenswerteste und einfachste Methode unter Windows, um lokale Änderungen zu versichern, ohne sie zu committen, ist der Befehl git stash. Der Stash speichert momentan alle Änderungen und erlaubt dir, den Arbeitszustand später bequem wiederherzustellen. Dies hilft, schnell und sicher zwischen verschiedenen Aufgaben oder Branches zu wechseln, ohne den Fortschritt zu verlieren.