git resetでどのオプション(hard, mixed, soft)を指定すべきか、シチュエーション別に分けてみる
[git reset (--hard/--soft)]ワーキングツリー、インデックス、HEADを使いこなす方法
–hard : コミット、インデックス、ワーキングツリー(ファイル)の変更をすべて削除する。
–mixed: コミット、インデックスを削除。ワーキングツリー(ファイル)の変更だけは残す。
–soft: コミットだけを削除する。インデックス、ワーキングツリー(ファイル)の変更は残す。
// コミットのみ取り消したい git reset --soft HEAD^ // コミット後の変更を全部消したい git reset --hard HEAD // 1つ前のコミットに戻す(「インデックス・ワーキングツリー」の変更が消せる。) git reset --hard HEAD^ // git add を取り消す git reset HEAD git reset --mixed HEAD