git commit を取り消す

コミットをなかったものとしたいときに

コミットに何か問題があったとしてもそれは歴史として受け入れて、新しく正しいコミットをすればよいだけなので、過去のコミットをどうにかしようと思わない方がいいと思う。

revert を使う

過去のコミットに問題があれば、git revertで「打ち消す」ことを検討する。
コミットの全部を打ち消したくない、と思うときには、コミットの粒度に問題があるので、今後は気を付けよう。
git revert : コミットの打ち消し

amend を使う

コミットメッセージの修正によく使われる。 git commit --amendで直前のコミットの上書修正を行う。 直前のコミットを削除し、コマンド実行時にステージングされた内容で新たにコミットを行う。 git addgit rmせずにgit commit --amendするとコミットの内容を変えずにコミットメッセージを再入力できる。
git commit : コミット

HEAD を動かす

git resetHEADを動かす方法もある。 git reset --softではワーキングツリー、インデックスの内容を保持したままHEADを移動させるので、

$ git reset --soft HEAD^

とすると、HEADをひとつ戻し、ステージングを再度調整、コミットしなおすことができる。git reset : HEADを動かすコマンド

Last modified 2020.06.11