On Aug 12, 9:09 pm, jd <chima...@gmail.com> wrote:
> > That's because you created a situation known as "detached HEAD".
>
> > > How can I fix this?  I want "master" to point to the same place as HEAD.
> > Record the name of the commit HEAD points at, checkout master and
> > "hard reset" it to that commit. The simplest way to do that is via a
> > branch or tag:
> > $ git tag foo
> > $ git checkout master
> > $ git reset --hard foo
> > $ git tag -d foo
> Thank you for the help, that seems to have fixed the problem.
> One question: why is the "git checkout master" needed?  (What would
> have happened if I had done the hard reset when the "detached head"
> was checked out?)
Since "foo" would point to the same commit as HEAD, the reset command
would just remove any uncommitted changes in your working tree, if
any; otherwise this reset would be a no-op as you reset HEAD to the
point it points to.
In other words, git-reset resets what is currently checked out, and
its "commit-ish" argument should be interpreted as answering the
question "reset to what commit?", not "what to reset?".

Hence, you wanted to reset master's tip to point to a different
commit, so you checked out master and then reset it (made its tip
point to the commit "foo" pointed to).

Reading through man pages for git-reset and git-rev-parse is highly
advised for understanding of the ideas being involved.

-- 
You received this message because you are subscribed to the Google Groups "Git 
for human beings" group.
To post to this group, send email to git-us...@googlegroups.com.
To unsubscribe from this group, send email to 
git-users+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/git-users?hl=en.

Reply via email to