gitでまとめてrevert

git push -f ではなくまとめてrevertする方法メモ(いつも忘れるし、push -f とか一人のときはやっちゃう)

流れ

  • revertをする(--no-edit つけてeditorを起動しない)
    • ここでresetのように過去のcommit指定する方法はないのか?
    • HEAD~5 みたいにかけるのか
  • rebase で squashする(=押しつぶす/統合する)
  • squashしたコメントをeditorで編集
  • push

参考にさせて頂きました

$ git log --oneline
2f05e27 aaa
d56fd0f bbb
8c1c711 ccc
f7d9739 ddd
00fdd3d eee

$ git revert --no-edit 2f05e27
$ git revert --no-edit d56fd0f
$ git revert --no-edit 8c1c711
$ git revert --no-edit f7d9739
$ git revert --no-edit 00fdd3d

$ git rebase -i HEAD~5

editor起動
pick => squash に書き換える

英語圏だと-(ハイフン)ではなくダッシュというようだ。--はダッシュダッシュとでも言うのか。(不明) squash a cockroach(ゴキブリを押し潰す)でsquashは完全に覚えた