git log と git reflog

git logとgit reflogは、どちらも履歴を表示するコマンドですが、見ているものが違います。
git logはコミットの系譜、つまりプロジェクトの歴史です。一方、git reflogはHEADの移動記録、つまり自分の操作の履歴です。たとえるなら、git logは「本の目次」で、git reflogは「自分がどのページを開いたかの記録」。git logから消えたコミットも、git reflogには残っています。
「やり直したい」と思ったとき、git reflogが最後の砦になります。
