Git で、branch を理解・把握せずに動いていると、どのブランチに所属もしていない状況で commit してしまうことがある。いわゆる (no branch) でのトラブル。この時、commit 分は git リポジトリーに登録されているけど、そのコミット・ログを読むブランチがないので、その変更分を正規のブランチから確認できなくなってしまう。
こういう時は、master に戻った後、hash 値を参考にして merge してやる。
実行例
$ git branch * (no branch) master
commit した先のブランチが (no branch)。
$ git checkout master Previous HEAD position was 9a5e01d... Hoge Hoge Commit Log Switched to branch "master"
master ブランチに checkout コマンドで戻ると、(no branch) の最新 HEAD の hash 値が表示される。この hash 値を使って、master ブランチに git merge する。
$ git merge 9a5e01d
これで、迷子になった commit 9a5e01d... が master に戻って来た。メデタシ、メデタシ。