git reset

git reset についてもまとめてみる - murankの日記

git reset とは?

HEAD の位置を変更するコマンド。 オプションによってインデックス、ワーキングツリーの内容も変更できる。

  • --soft
    • HEAD の位置のみを変更する。インデックス、ワーキングツリーには影響なし。
  • --mixed(もしくはオプションなし)
    • HEAD の位置とインデックスを変更する
  • --hard
    • HEADの位置、インデックス、ワーキングツリーをすべて変更する。

--soft

git reset HEAD^ --soft
  • インデックス、作業ツリーに対する変更は両者とも残る
  • HEADの位置がHEAD^に変わるだけ

--mixed(オプション無し)

git reset HEAD
  • インデクッスをHEADの状態にする。インデックスになにかあったらその変更は消える
  • git add の取り消しに使う
  • 作業ツリーへの変更は残る!

--hard

git reset --hard HEAD 
  • HEAD、インデックス、ワーキングツリーすべてを HEAD に変更する。