git でトピックブランチのマージを revert する方法をご紹介します。
git revert -m 1
-m 1 を付けて git revert すれば良いです。
git revert -m 1 063d4352e5c09c1981e8495a1932656735ea9c4e
merge commit の hash が 063d4352e5c09c1981e8495a1932656735ea9c4e とします。
$ git show 063d4352e5c09c1981e8495a1932656735ea9c4e
commit 063d4352e5c09c1981e8495a1932656735ea9c4e
Merge: a8c77d3 6a66237
Author: Tadashi Shigeoka
Date: Wed Jul 23 16:03:57 2014 +0900
Merge pull request #7421 from codenote/7379-example
7379 sample
そのまま git revert すると -m option が必要とエラーがでます。
$ git revert 063d4352e5c09c1981e8495a1932656735ea9c4e
error: Commit 063d4352e5c09c1981e8495a1932656735ea9c4e is a merge but no -m option was given.
fatal: revert failed
-m option を付けて git revert してみると、オプションの引数 parent number を指定する必要があります。
✗ git revert 063d4352e5c09c1981e8495a1932656735ea9c4e -m
error: switch `m' requires a value
usage: git revert [options] ...
or: git revert
--quit end revert or cherry-pick sequence
--continue resume revert or cherry-pick sequence
--abort cancel revert or cherry-pick sequence
-n, --no-commit don't automatically commit
-e, --edit edit the commit message
-s, --signoff add Signed-off-by:
-m, --mainline parent number
--rerere-autoupdate update the index with reused conflict resolution if possible
--strategy
merge strategy
-X, --strategy-option
-m 1 を付けて git revert すれば良いです。
$ git revert -m 1 063d4352e5c09c1981e8495a1932656735ea9c4e
以上、git で branch の merge を revert した、現場からお送りしました。