From: Shawn O. Pearce Date: Thu, 05 Apr 2007 15:29:25 GMT Subject: Re: 'git checkout -f' versus 'git reset --hard' Message-ID: <20070405152925.GG5436@spearce.org> In-Reply-To: <20070405134311.GA18163@coredump.intra.peff.net> Jeff King wrote: > On Thu, Apr 05, 2007 at 08:36:09AM -0500, Bill Lear wrote: > > > After a failed merge, I want to undo things. I typically use git > > reset --hard, and it works like a charm. Others have tried to use git > > checkout -f, but I have cautioned that git reset --hard is really the > > way to do it. Is there a difference here, or are they equivalent? > > Skimming through the code (and looking at the output of sh -x), it looks > like both just end up executing git-read-tree --reset -u $HEAD. Sure, but git-reset also whacks MERGE_MSG, rr-cache/MERGE_RR, SQUASH_MSG, SQUASH_HEAD. Maybe checkout should do the same. I guess checkout -f is fine, and does the job, but usually we say reset --hard. :-) -- Shawn.