Tutorials

Git Stash: Arbeit sicher beiseitelegen

Halbfertige Arbeit beiseitelegen, ohne zu committen, etwas anderes erledigen und alles genau so zurückholen. Wann ein Stash hilft und worauf Du achten solltest.

Git Stash: Arbeit sicher beiseitelegen

Was ein Stash ist

Ein Stash ist ein sicherer Zwischenspeicher für Änderungen, die Du gerade nicht committen willst, aber auch nicht verlieren möchtest. Du legst Deine aktuelle Arbeit beiseite, das Arbeitsverzeichnis wird sauber, und Du kannst etwas anderes tun. Später holst Du die Änderungen genau so zurück, wie sie waren.

Wann ein Stash hilft

Der klassische Fall: Du arbeitest an einer Sache, und plötzlich musst Du dringend etwas anderes erledigen, etwa einen schnellen Fehler auf einem anderen Branch beheben. Deine halbfertige Arbeit ist noch nicht commit-reif. Statt einen unfertigen Commit zu machen, stashst Du sie, wechselst den Branch, erledigst die dringende Sache und holst danach Deine Arbeit zurück.

Andere Fälle: Du willst kurz einen sauberen Stand testen, ein Update ziehen, das mit Deinen lokalen Änderungen kollidieren würde, oder Du merkst, dass Du auf dem falschen Branch angefangen hast.

Der Ablauf in Kurzform

  1. Stash anlegen: Deine Änderungen wandern auf den Stash-Stapel, das Arbeitsverzeichnis wird sauber.
  2. Etwas anderes tun: Branch wechseln, testen, updaten, was auch immer.
  3. Stash zurückholen (apply oder pop): Deine Änderungen liegen wieder im Arbeitsverzeichnis.

Der Unterschied zwischen apply und pop: apply lässt den Stash-Eintrag bestehen, pop entfernt ihn nach dem Zurückholen. Wenn Du unsicher bist, nimm apply, dann hast Du eine Sicherheitskopie, bis Du weißt, dass alles passt.

Mehrere Stashes und Ordnung

Der Stash ist ein Stapel, Du kannst also mehrere anlegen. Das ist praktisch, wird aber schnell unübersichtlich. Gib Stashes eine kurze Beschreibung, damit Du später weißt, was drinsteckt. Ein Stash ohne Notiz ist nach drei Tagen ein Rätsel.

Worauf Du achten solltest

  • Ein Stash ist lokal. Er wird nicht gepusht und liegt nur auf Deinem Rechner.
  • Neue, noch nicht getrackte Dateien werden standardmäßig nicht mitgestasht. Wenn Du sie brauchst, musst Du das ausdrücklich verlangen.
  • Beim Zurückholen kann ein Konflikt entstehen, wenn sich der Branch inzwischen geändert hat. Das ist normal und lässt sich wie jeder Merge-Konflikt auflösen.

Wie Spire dabei hilft

In Spire siehst Du Deine Stashes als klare Liste mit ihren Beschreibungen, statt sie über die Kommandozeile im Kopf behalten zu müssen. Du legst einen Stash an, holst ihn zurück oder verwirfst ihn mit wenigen Klicks, und wenn beim Zurückholen ein Konflikt entsteht, führt Spire Dich durch dieselbe ruhige Konfliktauflösung wie beim Merge. Weil viele Aktionen ein sichtbares Rückgängig haben, ist das Ausprobieren gefahrlos.

Kurz gesagt

  • Der Stash legt Arbeit sicher beiseite, ohne zu committen.
  • apply behält den Eintrag, pop entfernt ihn.
  • Beschreibungen geben, sonst wird der Stapel zum Rätsel.
  • Ein Stash ist lokal und wird nicht gepusht.

Teste Spire an deinen eigenen Repositories.

30 Tage kostenlos, kein Account, keine Kreditkarte. Der native Git-Client, der dir gehört statt gemietet zu sein.