git reset <mode> <commit>
現在のHEADをcommitに変更し、オプションによってindexとworking treeも変更する。
--soft- indexとworking treeはそのまま残す。
 
--mixed- indexをcommitに変更し、working treeはそのまま残す。
 
--hard- index、working treeをcommitに変更する。
 
--merge- indexをcommitに変更、working treeのHEAD・commit間の差分を反映する。
 - working treeのunstagedな変更点は維持される。
 - indexとcommit、indexとworking treeの間で異なる変更点があった場合は失敗する
 - コンフリクトしたマージをリセットする用途を想定
 
--keep- indexをcommitに変更、working treeのHEAD・commit間の差分を反映する。
 - 更新されるファイルに他の差分があった場合は失敗する。