[toc]

Einleitung

Wer neu mit Git ist bekommt eine Funktion an die Hand die wirklich wirklich toll ist.

Der Klassiker: Du bist mitten drin und erledigst deine Aufgaben und plötzlich muss man schnell etwas anderes an der gleichen Codebasis ändern: Bugfixing etc. Die Zeit drängt und es muss schnell gehen. Was tun?

Du benutzt Git! Kaum Aufwand 🙂

Los gehts

Git kann sich alles merken was im „Staging“ Bereich (git add <file> oder git add -A) liegt und es weg speichern.

git stash ist das gleiche wie git stash save bzw:
git stash save "<deine info/note für die Speicherung>"

Deine Änderungen werden damit in einem lokalen Container gespeichert die du jeder Zeit oder auch auf anderen Branches zurückholen kannst!

Du holst also anschliessend den benötigten Branch hervor (git checkout <branchname>), sofern nötig, machst deine notwendigen Änderungen, committest und push’ed sie zurück und kehrst zurück an deine Arbeit:

Mit git stash list listet man alle gespeicherten Zustände auf. Es wird zusätzlich die letzte Commit Nachricht und die ID des diesbezüglichen Stands  ausgegeben (Falls man schon weiter mit der Arbeit ist und den entsprechenden Stand auschecken will: git checkout <ID>).

git stash pop <Kennung> wird deine Sicherung zurückholen und den Eintrag in der Stash-Liste entfernen. Nur zurückgeholt aber in der Liste behalten:  git stash apply <Kennung>

Note: Die <Kennung> ist eine wenig doof aber so ist es: stash@{0} … stash@{N} muss angegeben werden oder der letzte Eintrag (stash@{0}) wird verwendet!

Mehr oder Details? git --help stash

Weiterführende Links