From: Sitaram Chamarty Date: Thu, 26 Feb 2009 09:15:20 GMT Subject: Re: checkout vs reset Message-ID: In-Reply-To: <76718490902252312h6a08f5a6x972523e7c7e4af16@mail.gmail.com> On 2009-02-26, Jay Soffian wrote: > On Thu, Feb 26, 2009 at 2:08 AM, Jay Soffian wrote: >> Is there any different between the following two commands? >> >> git reset -- ... >> git checkout -- ... >> >> As far as I can tell from the man pages, they are equivalent. To wit: >> both update the index and working copy for the given paths to the >> state that they were in in . > > Doh, answering my own question. reset only touches the index, not the > working copy. checkout updates both. However, if the doesn't even _have_ the in question, it leaves the index alone (doesn't remove it, for instance): Using HEAD as the in question for this example: echo hi > abc # new file, untracked so far git add abc git status # it's staged git reset HEAD -- abc git status # untracked # now with checkout git add abc git status # staged git checkout HEAD -- abc git status # still staged