Is there any different between the following two commands?
git reset <commit> -- <paths>...
git checkout <commit> -- <paths>...
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 <commit>.
j.
On Thu, Feb 26, 2009 at 2:08 AM, Jay Soffian [off-list ref] wrote:
Is there any different between the following two commands?
git reset <commit> -- <paths>...
git checkout <commit> -- <paths>...
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 <commit>.
Doh, answering my own question. reset only touches the index, not the
working copy. checkout updates both.
j.
On 2009-02-26, Jay Soffian [off-list ref] wrote:
On Thu, Feb 26, 2009 at 2:08 AM, Jay Soffian [off-list ref] wrote:
quoted
Is there any different between the following two commands?
git reset <commit> -- <paths>...
git checkout <commit> -- <paths>...
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 <commit>.
Doh, answering my own question. reset only touches the index, not the
working copy. checkout updates both.
However, if the <commit> doesn't even _have_ the <path> in
question, it leaves the index alone (doesn't remove it, for
instance):
Using HEAD as the <commit> 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