From: Jonathan Nieder Date: Wed, 30 Jun 2010 16:12:17 GMT Subject: Re: Dangers of reset --hard (Re: Implicit stashes) Message-ID: <20100630161217.GE18813@burratino> In-Reply-To: <1277885972.2498.25.camel@wpalmer.simply-domain> Will Palmer wrote: > I tend to want "do a git reset --hard, but fail if anything would be > lost". At the risk of being redundant: try git reset --keep. If it succeeds, you can use git diff --cached HEAD and git diff to check how close it was to being equivalent to a hard reset. > The use-case here is that when I reset --hard, I want a > completely clean copy- but I don't want to accidentally lose anything. There is one case when I truly want a completely clean copy (including no untracked files): when I am testing and a bit paranoid. For that, I do something like the following: ; mkdir /tmp/test-dir ; git archive HEAD | (cd /tmp/test-dir && tar -xf -) ; cd /tmp/test-dir and work from there. I would not be surprised if the needs of your case are different, though.