エンジニアのひよこ_level10

毎日更新してた人。たまに記事書きます。

【Git】数個前の過去のcommitの内容を変更する【957日目】

過去のcommitを変更したい

間違えた内容をcommitしてしまった。
その内容を変更したい。

直前のものであれば、

git reset --soft HEAD^
git reset

これでcommitを戻して、内容を変更してからcommitという手があるが、
commitを新しく繋げるだけなのと、数個前のcommitを変えるときには非常に手間。

ではどうするか

手順

  1. git logで戻りたいcommitを探す
  2. git rebase -i xxxxxxで、xxxxxに戻りたいcommitの一個前のcommit idを指定する
  3. エディタが立ち上がるので、書き換えたいcommitのpickと書かれている部分をeditに書き換える
  4. (内容を変更する)
  5. git commit --amendでcommitする(メッセージを変えないならそのまま)
  6. git rebase --continueで元に戻す