git-reflog-test.sh を任意の空ディレクトリで実行してください。
reflogの出力 のようなのが見えるはずです。
普通に見ると master ブランチのcommit(コメントとしては1,2のもの)しか見えず、commitが失われたように見えますが、reflogで見るとご覧の通り残ってます。( 190ada7 などのコミットハッシュは違うものになります。これはcommitに時間やauthorなどが含まれるため。)
と言うことで、gitはcommitさえしてれば多少変なことしてもreflogで取り戻せます。
- ブランチを消してしまった
- rebaseしてしまった
などの操作でcommitを失っても、reflogでcommitを見つけられれば、後はそのcommitをcheckoutするなりmergeするなりcherry-pickするなりお好きにどうぞ。 過信は禁物ですが「やってしまったー!」などで気づいたくらいなら大体間に合いますので、落ち着くといいです。