Docunext


Git Stash

March 22nd, 2010

This seemed like a really useful little command, but I only found the chance to try it yesterday.

What does "git stash" do? In my understanding, its sort of like a temporary pre-commit. Meaning, its not a commit, but it temporarily saves the current tree state, then restores the tree to the last commit.

I used it yesterday to quickly return to the last commit, tag it, and then restore my changes to commit them, like so:

git status
git stash save bigrefactor
git status
ls
cat VERSION
git tag
git tag -a 0.1.3
git push origin master tags
git push origin master --tags
git stash list
git stash apply
git status
git commit -m "major refactor, preparing for new version, fixed tests. still needs more testing" -a
git push origin master
git diff
git commit -m "removed unused variable" -a
git diff

Nice!

Yearly Indexes: 2003 2004 2006 2007 2008 2009 2010 2011 2012 2013 2015 2019 2020 2022