From: Junio C Hamano Date: Mon, 24 Apr 2006 20:54:39 GMT Subject: Re: [PATCH] Add git-stash to stash the working tree to a new tagged name Message-ID: <7vfyk27kz4.fsf@assigned-by-dhcp.cox.net> In-Reply-To: <8764kyzrwq.wl%cworth@cworth.org> Carl Worth writes: > Stashing (on branch 'feature'): > > git commit -a -m 'snapshot WIP' > > Recovering: > > git checkout feature > git reset --soft HEAD^ > git reset If I were doing this today, I would probably do this: git commit -a -m 'WIP' git checkout elsewhere ;# interrupted ... hack hack hack ... git checkout feature ;# come back ... hack hack hack ... git commit --amend But I wonder why the originally suggested sequence is reset soft to the state we want and then another reset. Without experimenting myself or thinking hard about it, I would expect "git reset HEAD^" should do what we want, in which case: Stashing (on branch 'feature'): git commit -a -m 'snapshot WIP' Recovering: git checkout feature git reset HEAD^