Artikelformat

Git stash

Bei der täglichen Arbeit kommt es ja immer wieder zu Unterbrechungen. Man entwickelt an einem Feature und plötzlich kommt ein Bug rein, der schnell behoben werden muss. Früher hat man dann immer gehofft, dass der Bug in einem anderen Teilbereich auftritt, sodass man hier keinen unfertigen Code einchecken muss. Im schlimmsten Fall hat man Dateien umkopiert und umbenannt und wiederhergestellt – alles war nicht sehr befriedigend. Nutzt man natürlich konsequent Branches ist das Problem kleiner aber Git bietet hier einen schicken Ansatz, der mir schon jetzt gut gefällt.

Das tolle Git-Feature heißt git stash. Dabei werden alle lokalen Änderungen weggespeichert. Man kann nun Änderungen pullen oder einfach nur an einem anderen Bug oder Feature arbeiten. Diese Änderungen können selbstverständlich wiederum weggespeichert werden.

Möchte man zu einem späteren Zeitpunkt den früheren Zustand wieder herstellen und weiterarbeiten kann man mit git stash pop oder git stash apply die gespeicherten Änderungen wieder einspielen. Wobei pop das Änderungs-Set auch aus dem Stash entfernt und apply die Änderung einfach nur anwendet.

Eine Übersicht der vorhandenen Stash-Objekte erhält man mit git stash list. Ist alles im Stash nicht mehr relevant, so kann man mit git stash clear alle Objekte verwerfen. Einzelne entfernt man einfach mit git stash drop.

Mein persönlicher Workflow bei einem Git Checkin ist:

  • git status // was hat sich bisher geändert
  • git stash // Änderungen weglegen
  • git pull –rebase // Remote Änderungen abholen
  • git stash pop // lokale Änderungen aus dem Stash anwenden
  • git add (-u) // Änderungen in ein Commitset hinzufügen (-u: nur geänderte Dateien)
  • git commit // lokale Änderungen commiten
  • git push // ausstehende Commits zum Remote Repo pushen

Nun noch eine kurze Ankündigung in eigener Sache:
Demnächst gibt es hier eine Rezension vom „ExtGWT Rich Internet Application Cookbook„. Dabei handelt es sich um ein Buch zum Thema ExtGWT/GXT von Sencha. Da die Literatur in diesem Bereich sehr überschaubar ist, wird das Buch sicher sehr interessant werden. Vor allem da – um nicht schon zuviel zu verraten – hier neben den typischen Anfängerthemen auch noch einiges für die Forgeschrittenen GXT-Entwickler erklärt und vorgestellt wird.

Schreibe einen Kommentar

Pflichtfelder sind mit * markiert.