Mit Git Stash können Sie Än­de­run­gen zwi­schen­spei­chern, ohne sie direkt zu committen. Es sind auch mehrere Stashes in einem Projekt möglich.

KI-Assistent kostenlos – Ihr smarter All­tags­hel­fer
  • DSGVO-konform & sicher gehostet in Deutsch­land
  • Pro­duk­ti­vi­tät steigern – weniger Aufwand, mehr Output
  • Direkt im Browser starten – ohne In­stal­la­ti­on

Was ist Git Stash?

Nor­ma­ler­wei­se funk­tio­niert die Arbeit in Git fol­gen­der­ma­ßen: Sie führen Än­de­run­gen in Ihrem lokalen Re­po­si­to­ry durch, testen diese genau und committen sie dann in den Main-Branch. Leider verläuft die Arbeit nicht immer so linear. Unter Umständen kann es sein, dass Sie an einer Baustelle arbeiten, dann aber in einen anderen Zweig wechseln müssen, bevor Sie die Funktion aus dem ersten Branch fer­tig­stel­len konnten. In diesem Fall wäre ein Commit nicht die richtige Wahl, da unfertige Än­de­run­gen hin­zu­ge­fügt würden und es so un­über­sicht­lich wird. Die Lösung ist Git Stash. Der Befehl speichert Ihre an­ge­fan­ge­nen Än­de­run­gen und stellt sie für Sie zurück.

Das betrifft sämtliche Än­de­run­gen, die Sie bisher noch nicht committed haben. Möchten Sie dann auf diese Dateien zu­rück­grei­fen, holen Sie sie einfach wieder vom Git Stash und stellen die Än­de­run­gen in Ruhe fertig. So verlieren Sie keine Fort­schrit­te, bewahren Ihre Arbeit und haben gleich­zei­tig die Freiheit, flexibel an anderen Punkten wei­ter­zu­ar­bei­ten. Ohne Git Stash würde Ihnen bei einem Git Checkout entweder eine Feh­ler­mel­dung angezeigt werden oder Sie würden wichtige Än­de­run­gen sogar verlieren.

Syntax und Funk­ti­ons­wei­se von Git Stash

Git Stash fungiert also als eine Art Zwi­schen­spei­cher für Ihren aktuellen Branch. Die grund­sätz­li­che Syntax sieht so aus:

git stash

An einem einfachen Beispiel zeigen wir Ihnen die Funk­ti­ons­wei­se Schritt für Schritt. Stellen Sie sich dafür vor, dass Sie an zwei Branches arbeiten. Aktuell nehmen Sie Än­de­run­gen am ersten Branch vor, werden dann al­ler­dings von Ihrem Team darüber in­for­miert, dass am zweiten Branch ebenfalls etwas geändert werden muss. Mit Git Stash gehen Sie vor wie folgt:

  1. Speichern Sie Ihre Än­de­run­gen am ersten Branch.
  2. Nutzen Sie den Befehl „git stash“.
  3. Wechseln Sie zum zweiten Branch und nehmen Sie dort die not­wen­di­gen Än­de­run­gen vor.
  4. Committen Sie Ihre Än­de­run­gen im zweiten Branch.
  5. Wechseln Sie zurück zum ersten Branch.
  6. Nutzen Sie den Befehl „git stash pop“, um die ge­spei­cher­ten Fort­schrit­te wieder auf­zu­ru­fen.

Weitere Optionen von Git Stash

Neben der oben erklärten Variante kennt Git Stash noch ein paar weitere Optionen. Die wich­tigs­ten sind folgende:

git stash -u Be­rück­sich­tigt auch Dateien, die nicht getrackt wurden.
git stash -a Be­rück­sich­tigt alle Dateien, die ignoriert oder nicht getrackt wurden.
git stash -p Er­mög­licht es Ihnen, nur bestimmte Dateien aus­zu­wäh­len und zu stashen.

Stashes auflisten

Der Einsatz von Git Stash ist dabei nicht begrenzt. Sie können den Befehl also auch mehrere Male anwenden und so zahl­rei­che Spei­cher­schrit­te hin­ter­le­gen. Dann haben Sie die Mög­lich­keit, Ihre Git Stashes auf­zu­lis­ten und so einen guten Überblick über Ihren Speicher zu erhalten. Dies ist der passende Befehl:

git stash list

Die Einträge werden Ihnen dann in um­ge­kehr­ter chro­no­lo­gi­scher Rei­hen­fol­ge angezeigt. Der aktuelle Git Stash erscheint also als erstes.

Im Nor­mal­fall werden die einzelnen Stashes einfach als „WIP“ (Work in progress) aus­ge­wie­sen. Da dies bei mehreren Git Stashes schnell un­über­sicht­lich werden kann, ist es emp­feh­lens­wert, die einzelnen Spei­cher­stän­de mit einer Be­schrei­bung zu versehen. Dies ist der ent­spre­chen­de Befehl:

git stash save "Hier steht Ihre Beschreibung"

Git Stash pop und apply

Mit dem Befehl „git stash pop“ wird der letzte Git Stash erneut aus­ge­wählt und angezeigt. Möchten Sie al­ler­dings auf einen anderen Spei­cher­stand zu­rück­grei­fen, können Sie dies mit einem Argument aus­drü­cken. Soll bei­spiel­wei­se der zweite Git Stash angezeigt werden, setzen Sie den Wert auf 1 (da von der Null aus gezählt wird). Das sieht so aus:

git stash pop stash@{1}

Eine Al­ter­na­ti­ve zu „pop“ ist „apply“. Der Un­ter­schied: „pop“ löscht den je­wei­li­gen Git Stash aus dem Speicher und setzt ihn wieder in den aktuellen Branch ein. „apply“ bewahrt den Stash im Speicher.

Git Stash aufräumen

Gerade weil Sie die Option haben, mehrere Git Stashes zu erstellen, ist es wichtig, dass Sie den Git Stash zwi­schen­zeit­lich aufräumen, damit es nicht zu un­über­sicht­lich wird. Auch hierfür gibt es zwei Befehle, die Sie nutzen können:

git stash clear

Mit diesem Befehl leeren Sie den gesamten Git Stash.

Möchten Sie nur einen be­stimm­ten Stash aus der Liste entfernen, ist dies der passende Command:

git stash drop <stash_id></stash_id>

Git Stashes aufrufen

Die Zu­sam­men­fas­sung Ihres Git Stashes können Sie mit folgendem Befehl abrufen:

git stash show

Um zu­sätz­lich einen Einblick in den voll­stän­di­gen Diff zu erhalten, nutzen Sie diesen Command:

git stash show -p

Ein nütz­li­ches Tool für die Arbeit mit Git

Git Stash er­leich­tert Ihnen also die Arbeit an einem Projekt und sorgt dafür, dass auch unfertige Än­de­run­gen nicht verloren gehen. In unserem Artikel über Git-Commands finden Sie weitere nützliche Befehle. Für die re­gel­mä­ßi­ge Nutzung des Ver­si­ons­kon­troll­sys­tems ist auch unser Git Cheat Sheet mit PDF-Download emp­feh­lens­wert.

Tipp

Deploy Now von IONOS ist die beste Lösung für Ihre Websites und Apps! Pro­fi­tie­ren Sie von einem schnellen Setup, op­ti­mier­ten Workflows und maximaler Ska­lier­bar­keit. Dazu haben Sie die Wahl zwischen ver­schie­de­nen günstigen Tarifen.

Zum Hauptmenü