9

I've read many posts related to this issue today( one useful one here: Fix a Git detached head? & Why did my Git repo enter a detached HEAD state?).

Today I've been scratching my head. I'm not able to understand how to fix this even after reading those articles.

Yesterday was all ok, I remember having given a checkout command. In the evening I found that Git was not showing any changes even though local changes were present. After researching today I could see now that git status is showing "HEAD detached from 99f040f".

Since then I removed .git folder in my D: (on my Windows 7) and restored .git of 27th July backup. Still not resolved. I tried 25th July version too. But no luck. So I've now restored yesterday's .git version.

I'm pasting the screenshot from gitk. Is there anything I can do to correct this issue? enter image description here

Community
  • 1
  • 1
user5858
  • 1,082
  • 4
  • 39
  • 79
  • 1
    `git checkout -b temp` to backup what you have right now, `git branch` to see what branches are in your repo, and then `git checkout ` to get to your desired branch. – Ajedi32 Aug 01 '13 at 13:40
  • possible duplicate of [Git: How can I reconcile detached HEAD with master/origin?](http://stackoverflow.com/questions/5772192/git-how-can-i-reconcile-detached-head-with-master-origin) – kan Aug 01 '13 at 13:47

1 Answers1

13

To get back to the last checked-out branch, simply type

git checkout -

Seems a bit under-documented (search for You may also specify in the docs of git checkout), but works for me.
Could also be used as a handy shortcut for switching between two branches:

git checkout master
git checkout branchwithaverylongnamethatyoudontwanttotypeagain
git checkout - # brings back master
git checkout - # brings back branchwithaverylongnamethatyoudontwanttotypeagain
eckes
  • 64,417
  • 29
  • 168
  • 201