メモ置き場

git reset

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間の差分を反映する。
    • 更新されるファイルに他の差分があった場合は失敗する。

参考: https://git-scm.com/docs/git-reset