LoginSignup
68
69

More than 5 years have passed since last update.

git revertでmerge commitを取り消す

Posted at

はじめに

以前、「m1でrevertしといて!」と言われて、「へ?」となったことがあったので、メモしておきます。

git revert

まず、revertのシンプルな使い方から。

$ git revert HEAD

でHEADのコミットを取り消すようなコミットを作成してくます。
コミットメッセージを変更する画面が出てくるので変更する場合は変更して、後は勝手にコミットまでやってくれます。

git 履歴を変えるコマンドたち git revert

merge commitをrevertする

revertしようとしたコミットがmerge commitだった場合、エラーが出てしまいます。

$ git revert aaaaaa
error: Commit aaaaaa is a merge but no -m option was given.

こんなときにはm(mainlineオプション)を使います。
mオプションには1または2を基本的に使います。

1のときは「マージされた側のブランチ」、2のときは「マージする側のブランチ」になります。マージしたコミットそのものをrevertするときは1になります。なので、基本的に1を使うといいと思います。

$ git revert -m 1 aaaaaa
$ git revert -m 2 aaaaaa

参考

Gitのrevertの-m(mainline)オプションについて

GitでMerge CommitをRevertする方法

git docs git-revert

68
69
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
68
69