Gitでmerge commitをrevert(巻き戻し)する
もうmergeされちゃっているcommitを取り消したい時に便利。 今回はリリースされたある施策が一旦取取り下げになったので、使ってみた。
1. ログを確認する
$ git log
戻したいmerge commit のハッシュ値をメモ。
commit 0eb809182efc0096af2be80124482fe1238a6bca Merge: 2fb2d70 3111ec4 Author: myname <myemail@myemail.com> Date: Thu Apr 10 13:54:34 2014 +0900 Merge pull request #120 from bear/test トップページ:修正
2. revertする
$git revert -m 1 0eb809182efc0096af2be80124482fe1238a6bca //$git revert -m 1 [merge commitのハッシュ値]
pull requestに含まれるcommitをまとめてrevertできた。 機能を復活させたいとなったときは、再度revertすればよいのではないかと思っている。
ちなみにmerge commitを普通のcommitをrevertする時と同じようにrevertすると、 以下のようなエラーが出る。
$ git revert 0eb809182efc0096af2be80124482fe1238a6bca fatal: Commit 0eb809182efc0096af2be80124482fe1238a6bca is a merge but no -m option was given.