git revert

使用 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:查看提交节点图形

参考:
http://blog.psjay.com/posts/git-revert-merge-commit/

你可能感兴趣的:(git revert)