checkout vs reset

3 messages, 2 authors, 2016-06-15 · open the first message on its own page

checkout vs reset

From: Jay Soffian <hidden>
Date: 2016-06-15 22:46:17

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.

Re: checkout vs reset

From: Jay Soffian <hidden>
Date: 2016-06-15 22:46:17

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.

Re: checkout vs reset

From: Sitaram Chamarty <hidden>
Date: 2016-06-15 22:46:17

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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help