はじめに
Git初心者のぼくがHEAD detached atの洗礼を受けたので解決させるまでの経緯をメモします。
ちなみになんで直ったのかはちゃんと理解できていませんので誰か教えて下さいお願いしますorz
なにが起きていたか
ぼく「ちょっと前のコミットの状態に戻してみよう」
ぼく「まず、もどりたいコミットの確認と・・・、よしa0ae096だな!」
[root@centos project]# git log --oneline
577021b apply v70ms_Linux64
a0ae096 customized httpd/data/j60/submenu.js
b3d982f apply hotfix_160609
c132e85 apply hotfix_160531
c900cd8 apply hotfix_160530
88a660e apply hotfix_160509
f8c1c31 exclude crond dir
78c4d24 modified gitignore & apply hotfix_160314
c632311 initial commit
ぼく「a0ae096にcheckoutしてと・・・!」
[root@centos project]# git checkout a0ae096
ぼく「ブランチの状態はと・・・(HEAD detached at? まぁ、大丈夫やろ)」
[root@centos project]# git branch
* [HEAD detached at a0ae096]
  master
  develop
ぼく「よし、確認したい部分の確認もできたからまたmasterブランチに戻そうかな」
[root@centos project]# git checkout master
ぼく「ブランチの状態はと・・・!!!? ブランチが移動しない???」
[root@centos project]# git branch
* [HEAD detached at a0ae096]
  master
  develop
というわけでブランチを元に戻すことができなくなってしまいました
なにをしたか
以下のステップで解決することができました
- 新しいブランチの作成
 - 新しく作成したブランチへの
checkout - 
.git/HEADの編集 - 
masterブランチへのcheckout 
新しいブランチの作成
gitのHEADがブランチから外れてしまう現象とその直し方の記事にとりあえず新しいブランチ作れみたいに書いてあったので新たにブランチを作成
しかし、作成後masterブランチへ移動みたいなこと書いてあるけどそれができないという\(^o^)/
[root@centos project]# git branch test
[root@centos project]# git branch
* [HEAD detached at a0ae096]
  master
  develop
  test
新しく作成したブランチへのcheckout
新しく作成したブランチへcheckoutしてみたらできました
そしてなぜか[HEAD detached at a0ae096]も消えていました
しかし、masterブランチへcheckoutできないのは相変わらず・・・\(^o^)/
[root@centos project]# git checkout test
[root@centos project]# git branch
  master
  develop
* test
[root@centos project]# git checkout master
[root@centos project]# git branch
  master
  develop
* test
.git/HEADの編集
なぜか.git/HEADの編集を試みようと思い、以下のように編集を実施
[root@centos project]# cat .git/HEAD
ref: refs/heads/test
[root@centos project]# cat .git/HEAD
ref: refs/heads/master
masterブランチへのcheckout
そしてその状態でmasterブランチへのcheckoutを試みたところ・・・
[root@centos project]# git checkout master
[root@centos project]# git branch
* master
  develop
  test
きたきたきたきた~~~!!!!
おわりに
とりあえずかなり焦りましたがなんとか直せてよかったです。
しかし、なんで直ったのかわからないという状況なのでGitに詳しい人教えて下さい本当にお願います。