使用 git revert 撤销 merge
当使用 git revert 撤销一个 merge commit 时,如果除了 commit 号而不加任何其他参数将会报错。
error: commit 7462a7e0d4b577811c1ff7557ef1f1fd6ae03dcb is a merge but no -m option was given.
fatal: revert failed
提示没有 -m 参数。
Git 需要通过 m 或 mainline 参数来指定「主线」。m 参数的值可以是 1 或者 2,对应着 parent 在 merge commit 信息中的顺序。
指定主分支:
git revert -m 1 g
撤销 merge 后怎么恢复?
Recover a Reverted Merging
git checkout master
git revert G // 将刚才的 `revert` 的提交节点 `G` `revert` 掉
git merge dev // 再次执行 merge
查看提交节点树:
git log --graph --oneline
oneline:将每个提交放在一行显示。
graph:查看提交节点图形