9
4

More than 1 year has passed since last update.

git add とgit commitの取り消し

Posted at

先日、作業するブランチを間違えてしまいました。

作業が完了し、addとcommitをして、pushする直前に気づきました。

その時の対処方法です。

git commit の取り消し

まずはcommit の取り消しをします。

git reset --soft HEAD^

こちらのコマンドで直前に行ったcommitを取り消すことができます。

git add の取り消し

続いてgit add の取り消しをします。

git reset HEAD

こちらで直前に行ったaddを取り消すことができます。

これら2つのコマンドを実行することで、表題のaddとcommitの取り消しができます。

以下で補足します。

HEAD

今自分が作業している場所を示すポインタのことです。

HEAD^は「一つ前のコミット」を表します。

reset

特定の時点までファイルを巻き戻します。
3つのオプションがあります。

--soft

HEADの位置のみ巻き戻す
例:git reset --soft HEAD^→直前のコミットを消す

--mixed

HEADの位置、インデックスを巻き戻す
オプションなしでも同じ結果になる
例:git reset HEAD→インデックスの変更(addしたもの)を消す

--hard

HEADの位置、インデックス、作業ディレクトリを巻き戻す
例:git reset --hard HEAD^→直前のコミットまですべて消す

9
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
4