[Git] Merge Commit を Revert する方法
- 2014 7/25
- カテゴリー : Git
- git . merge commit . revert
- コメントを書く
git でトピックブランチのマージを revert する方法をご紹介します。
結論 git revert -m 1
-m 1 を付けて git revert すれば良いです。
git revert -m 1 063d4352e5c09c1981e8495a1932656735ea9c4e |
解説 git revert -m
merge commit の hash が 063d4352e5c09c1981e8495a1932656735ea9c4e とします。
$ git show 063d4352e5c09c1981e8495a1932656735ea9c4e commit 063d4352e5c09c1981e8495a1932656735ea9c4e Merge: a8c77d3 6a66237 Author: Tadashi Shigeoka <shigeoka@codenote.net> 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] <commit-ish>... or: git revert <subcommand> --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 <n> parent number --rerere-autoupdate update the index with reused conflict resolution if possible --strategy <strategy> merge strategy -X, --strategy-option <option> option for merge strategy |
-m 1 を付けて git revert すれば良いです。
$ git revert -m 1 063d4352e5c09c1981e8495a1932656735ea9c4e |
以上、git で branch の merge を revert した、現場からお送りしました。