指定したコミットに HEAD を移動させる
git checkout HEAD<sup>~</sup>2
ワーキングディレクトリを二つ前のコミットの状態にする。(インデックス、コミットの状態は変わらない)
detached HEADという状態になる。
指定したブランチに HEAD を移動させる
git checkout master
作業ブランチで作業を終えた際などに使う。
ワーキングディレクトリの作業内容を消す
git checkout .
既にgit addしたものは残し,カレントディレクトリ以下のaddしていない変更を全部消す。(履歴は保持されるらしいがどうやって戻すんだろう?)
git reset --hard HEAD
はインデックス(addしたもの) も削除する。
参考
https://yu8mada.com/2018/06/01/the-difference-between-reset-checkout-and-revert-in-git/
https://teratail.com/questions/24069
https://qiita.com/yaotti/items/d7196870dee5ba738b90