From: Junio C Hamano Date: Mon, 20 Oct 2008 05:29:39 GMT Subject: Re: Usability of git stash Message-ID: <7vmygz4yws.fsf@gitster.siamese.dyndns.org> In-Reply-To: <20081020003644.GA10412@coredump.intra.peff.net> Jeff King writes: > git checkout next ;# which is where I usually am anyway > hack hack hack > # oops, I have been building this directly on top of next and it > # really needs to be a feature-branch on maint > git stash > git checkout -b jk/maint-fix-whatever origin/maint > git stash apply > > The equivalent non-stash commands would be "commit -m wip" and > "cherry-pick". But the stash saves me the trouble later of having to > delete the wip cruft on top of next. The equivalent would be: git checkout -m -b jk/maint-fix-whatever origin/maint no need for stash, wip-commit, nor cherry-pick. The advantage of using "stash then stash apply" (not "stash pop") or "wip-commit with cherry-pick" is that you can reset, take a deep breath, and redo it, when the resulting merge conflict gets too hairy. > I disagree. I think the strength of stash is that it is divorced from > the history. So it is more like a cherry-pick (or diff | apply, which is > what it was intended to replace). I agree with you; it really is the "diff saved somewhere, later applied".