Start·Terminal-Befehle

git stash

git

Aufruf

git stash [push] [-u] [-m "<message>"]

Legt unfertige Änderungen beiseite und hinterlässt einen sauberen Baum; unverfolgte Dateien bleiben ohne -u zurück, und pop löscht den Eintrag, apply behält ihn.

Häufige Optionen

OptionBedeutung
-uinclude untracked files, which are otherwise left behind
-ainclude ignored files too
-kkeep the staging area as it is
-pstash selected hunks
popapply the newest entry and delete it
applyapply it and keep the entry
listshow the entries
drop <stash>delete one entry

Beispiele

git stash -u -m "wip login"

parks tracked and untracked changes under a name

git stash pop

brings the newest stash back and removes it from the list

git stash apply stash@{2}

applies an older entry and leaves it in the list

Verwirrend ist, dass Rückgängig mehrere Formen hat — den Zeiger eines Branch zu verschieben ist nicht dasselbe wie einen Gegen-Commit zu setzen.

So liest man das

  • Eckige Klammern [ ] markieren einen Teil, den man weglassen kann.
  • Drei Punkte … heißen: mehrere sind erlaubt.
  • Optionen achten auf Groß- und Kleinschreibung — bei manchen Befehlen sind -r und -R verschieden.

Häufige Fragen

Q. Was macht git stash?

Legt unfertige Änderungen beiseite und hinterlässt einen sauberen Baum; unverfolgte Dateien bleiben ohne -u zurück, und pop löscht den Eintrag, apply behält ihn.

Q. Wie gibt man ihn ein?

git stash [push] [-u] [-m "<message>"] — eckige Klammern markieren, was wegfallen darf.

Q. Wie viele Optionen lohnen sich?

Hier stehen 8; die vollständige Liste steht in man git. Der Befehl gehört zu git.

Verwandte Befehle

man-Seite: man git-stash