gitで歴史を改ざんするには
直前の履歴を改ざんする
1. コミットをなかったことに
HEADの一つ前に戻る。
$ git reset HEAD~1 $ git push -f origin
2. コミットを修正
対象ファイルを修正し、commit --amendする。
$ git commit --amend $ git push -f origin
特定の歴史を改ざんする
rebase -iを使い、改ざんしたいコミットまで戻り、修正する。
$ git rebase -i <改ざんしたいコミットのID> pick c832e Add comment pick f983e Initial commit
戻りたいコミットを指定し、editにし保存する。
edit c832e Add comment pick f983e Initial commit
改ざんしたいファイルを修正し、commit --amendする。 その後、git rebase --continueで元に戻す。
$ git rebase --continue
途中、コンフリクトが発生することがあるので、そのときは解消して、
rebase --continue
する。
Successfully rebased and updated refs/heads/ブランチ名
と出れば完了。
途中で訳わからなくなってもとに戻したいと思ったら↓のコマンドでOK。
$ git rebase --abort