Git Stash
Zuletzt aktualisiert
git stash sichert deine nicht committeten Änderungen und setzt dein Arbeitsverzeichnis in einen sauberen Zustand zurück, sodass du den Branch wechseln oder pullen kannst, ohne halbfertige Arbeit zu committen. Die Änderungen landen auf einem Stapel, den du später mit git stash pop (anwenden und entfernen) oder git stash apply (anwenden und behalten) erneut anwenden kannst.
Probiere diese im Terminal-Playground aus - eine echte Shell in deinem Browser, nichts zu installieren.
Syntax
| Command | What it does |
|---|---|
git stash | Versionierte Änderungen sichern, Arbeitsverzeichnis säubern |
git stash -u | Sichert auch nicht versionierte Dateien |
git stash push -m "msg" | Stashen mit einer beschreibenden Nachricht |
git stash push <file> | Stasht nur eine bestimmte Datei |
git stash list | Listet alle Stashes auf |
git stash pop | Wendet den letzten Stash erneut an und entfernt ihn |
git stash apply | Wendet den letzten Stash erneut an, behält ihn |
git stash drop | Löscht den letzten Stash |
git stash clear | Löscht alle Stashes |
pop vs apply
| Behavior | git stash pop | git stash apply |
|---|---|---|
| Wendet die Änderungen erneut an | Ja | Ja |
| Entfernt den Stash danach | Ja | Nein |
| Gut zum Wiederverwenden eines Stashes | Nein | Ja |
Git stash FAQ
Was macht git stash?
Es speichert deine nicht committeten Änderungen auf einem Stapel und setzt dein Arbeitsverzeichnis auf den letzten Commit zurück, was dir einen sauberen Ausgangspunkt gibt. Deine Änderungen gehen nicht verloren - sie werden gesichert und können später mit
git stash pop oder git stash apply erneut angewendet werden. Das ist praktisch, wenn du den Branch wechseln musst, aber noch nicht bereit zum Committen bist.Was ist der Unterschied zwischen git stash pop und git stash apply?
Beide wenden deinen neuesten Stash erneut auf das Arbeitsverzeichnis an.
git stash pop entfernt diesen Stash danach zusätzlich vom Stapel, während git stash apply ihn auf dem Stapel belässt, sodass du ihn woanders erneut anwenden kannst. Verwende pop für eine einmalige Wiederherstellung und apply, wenn du den Stash wiederverwenden möchtest.Enthält git stash nicht versionierte Dateien?
Standardmäßig nicht - ein einfaches
git stash sichert nur versionierte (geänderte) Dateien. Füge -u (git stash -u) hinzu, um nicht versionierte Dateien einzuschließen, oder -a, um auch ignorierte Dateien einzuschließen. Ohne diese Flags bleiben neue Dateien, die du nicht mit git add hinzugefügt hast, in deinem Arbeitsverzeichnis.Wie wende ich einen bestimmten Stash an?
Führe
git stash list aus, um sie nummeriert wie stash@{0}, stash@{1} zu sehen, und dann git stash apply stash@{1} (oder pop), um einen bestimmten erneut anzuwenden. Jeder Stash zeigt auch den Branch und die Nachricht an, mit denen er erstellt wurde, sodass du sie unterscheiden kannst.Kann ich das online üben?
Ja. Öffne den Terminal-Playground, um
git stash in einer echten Shell in deinem Browser auszuführen - nichts zu installieren. Coddys kostenloser interaktiver Git-Kurs behandelt außerdem Schritt für Schritt, wie du laufende Arbeit verwaltest.