Re: Any difference to unstage files using "git checkout" and "git rm"
- From
Jeff King <peff@peff.net>
- Date
- May 19, 2014, 16:45 UTC
- Message-ID
- <20140519164526.GA27176@sigill.intra.peff.net>
- In-Reply-To
- <2484900.5bGOI3HfEm@linux-wzza.site>
On Mon, May 19, 2014 at 09:27:47PM +0630, Arup Rakshit wrote:
Show 7 quoted lines
> > Is there any difference between the below 2 commands ? I didn't see > > anything. > > > > git rm --cached -- <file1> .. <fileN> > > git checkout -- <file1> .. <fileN> > > Please Ignore the previous.
Too late. :)
Show 5 quoted lines
> I apologize to rewriting and increase the load of this mailing list. I > actually wanted to ask the below > > git rm -- cached -- <file1> .. <fileN> > git reset HEAD <file1> .. <fileN>
OK, this is a more sensible comparison.
The first command will remove the entries from the index entirely, and the second one will return them to their state in HEAD. So _if_ the existing commit in HEAD did not have the files at all, the two are identical.
But if the files were committed previously, then the second command will return them to that state, not remove them entirely.
Does that make sense?
-Peff