git ready

Lerne Git Commit für Commit
von Nick Quaranto, Übersetzung von Nico Gulden

Zwischenschritte als Stashes clever speichern

eingetragen am 13 Mar 2009

Ich verwende zunehmend Stashes und finde, dass die Ausgabe der Stash-Liste wie folgt meistens nicht sehr nützlich ist:

$ git stash list
stash@{0}: WIP on feature1: b50788b... First pass...
stash@{1}: WIP on master: b50788b... First pass...
stash@{2}: WIP on shoulda: e783fb0... Upgrading the rest...

Nun, sie enthält den Commit-Hash und die Beschreibung, auf dem die Arbeit aufbaut. Aber wenn du nur ein kleines bißchen ähnlich tickst wie ich, dann hast du in dem Moment, wo du deinen Arbeitsfortschritt im Stash verstaust und diesen nervigen Bug über Stunden bearbeitest, vergessen, woran du gearbeitest hast.

Stattdessen ist das zwischenzeitliche Verstauen der gegenwärtigen Arbeit auf die folgende Art sehr viel besser, wenn du dich wieder einarbeitest und tatsächlich herausfinden möchtest, wo du warst:

git stash save "your message here"

Jetzt sehen die Stash-Listen ein ganzes Stück sauberer aus. Hoffentlich spart dir das etwas Zeit, anhand der Informationen wieder in die Arbeit hinein zu finden.

$ git stash list
stash@{0}: On shoulda: Updating instructions
stash@{1}: On master: started merge but need to fix #104 first
stash@{2}: On feature1: Adding some stuff

Wenn du sehen möchtest, was in einem bestimmten Stash geändert wurde, kannst du einfach den Treeish der Stash-Ausgabe von git stash list weitergeben. Der Teil stash@{<Nummer>} zeigt, wie der Änderungssatz referenziert wird. Einfach an git diff übergeben und du siehst, was geändert wurde:

$ git diff stash@{0}
diff --git a/TODO b/TODO
index b0ecaeb..4ca398c 100644
--- a/TODO
+++ b/TODO
@@ -1,4 +1,3 @@
 [ ] Easier configuration of Maruka and blahtex directories [mdreid]
 [ ] Accurate "related posts" calculator
-[ ] Autobuild
-[ ] Add more awesome.
+[ ] Autobuild
\ No newline at end of file

Du könntest auch git show verwenden, um zu sehen, worauf der Commit basiert. Wenn du weitere Stash-bezogene oder andere Tips hast, lass es uns wissen!