git commit を取り消す
コミットに何か問題があったとしてもそれは歴史として受け入れて、新しく正しいコミットをすればよいだけなので、過去のコミットをどうにかしようと思わない方がいいと思う。
revert を使う
過去のコミットに問題があれば、git revert
で「打ち消す」ことを検討する。
コミットの全部を打ち消したくない、と思うときには、コミットの粒度に問題があるので、今後は気を付けよう。
git revert : コミットの打ち消し
amend を使う
コミットメッセージの修正によく使われる。
git commit --amend
で直前のコミットの上書修正を行う。
直前のコミットを削除し、コマンド実行時にステージングされた内容で新たにコミットを行う。
git add
やgit rm
せずにgit commit --amend
するとコミットの内容を変えずにコミットメッセージを再入力できる。
git commit : コミット
HEAD を動かす
git reset
でHEAD
を動かす方法もある。
git reset --soft
ではワーキングツリー、インデックスの内容を保持したままHEAD
を移動させるので、
1$ git reset --soft HEAD^
とすると、HEAD
をひとつ戻し、ステージングを再度調整、コミットしなおすことができる。
git reset : HEAD
を動かすコマンド