gitのお話。 masterブランチで作業しているとおもいきや、いつの間にか無名ブランチ*1に迷い込んでしましました。 $ git branch -l * masterしかし、無名ブランチにいるとはつゆ知らず、作業して、addしてcommitして、さあ、pull --rebaseしようとしたら、できない。 masterブランチに切り替えます。 $ git checkout master $ git branch -l * masterだがしかし、masterブランチに移動したら、先ほどまで作業していたlogが消えてしましましたよ。(あたりまえですな) こんな時は、.git/log/HEADを見ましょう*2。.git/log/HEADには、ローカルレポジトリ*3のコミットログとメッセージとハッシュ値が平文で格納されています。そして、このハッシュ値を元にmergeしたりブランチを切ればいいわけ