Edited at

gitでbranchをcheckoutした履歴

More than 1 year has passed since last update.

作業ログとして、あるいは以前参照したブランチに再度チェックアウトするために、branchをcheckoutした記録を残したいと思ったことはないでしょうか。ぼくはあります。

ぼくは以前まで、 .git/info/.branch.log というファイルを作って .git/hook/post-checkout でブランチ名を記録するといったことを行っていました。

しかし、ちょうどさっきbranchをcheckoutした履歴って実はreflogに含まれてることに気づいてこのオレオレブランチ履歴を捨て去りました。やったね!

git --no-pager reflog | awk '$3 == "checkout:" && /moving from/ {print $8}' | uniq | head

こんな感じでgit自体のログから取れるようになって幸せになりました。

ちなみに、直前に居たブランチにチェックアウトするには:

git checkout -

これでできます。