スポンサーリンク

git reset --soft HEAD^で直前のgit commitを取り消す

git reset --soft HEAD^で直前のgit commitを取り消すことができます。
このとき、git addのインデックス登録は残る状態になります。

実際にやってみましょう。
下記のように、新規ファイルを作成します。

git statusすると、

git addします。
参考:カレントディレクトリ以下を再帰的にgit addする

git statusすると、

git commit します。

git statusすると、

ここで、git reset --soft HEAD^を実行します。

git statusすると、git commitが取り消されて、git addのインデックス登録は残っているのが確認できます。

スポンサーリンク

git reset --hard HEAD^で直前のgit commitを取り消す & ワーキングツリーの変更も削除する

git reset --hard HEAD^をすると、直前のgit commitを取り消されると同時に、ワーキングツリーの変更も削除すれるので注意が必要です。

下記のように、git commitします。

git statusすると、

ここで、git reset --hard HEAD^を実行します。

git statusすると、ワーキングツリーの変更も消えているのが確認できます。

dir002ディレクトリが消えていますね。git reset --hardは慎重に行うことが必要ですね。

スポンサーリンク