You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

合并master到私有分支后,如何移除远程错误提交及解决Git revert报错?

解决Git合并提交Revert时的父编号选择问题

当你把master合并到私有分支后产生的提交属于合并提交,这类提交有两个父节点:一个是私有分支合并前的最后一次提交,另一个是master分支被合并时的最后一次提交。Git无法自动判断你要撤销哪条分支的合并操作,所以必须用-m参数指定父编号。

如何确定父编号

执行git show <合并提交的SHA>,输出内容里会有两行类似这样的内容:

parent <私有分支合并前的提交SHA>
parent <master分支被合并时的提交SHA>

这里的顺序是核心:

  • 第一个parent(对应编号1)是你执行合并操作时所在的分支,也就是你的私有分支
  • 第二个parent(对应编号2)是被合并进来的分支,也就是master

选择哪个父编号

如果你想撤销这次合并,让代码回到合并前私有分支的状态(完全移除master合并带来的修改),就选编号1,执行命令:

git revert -m 1 <合并提交SHA>

这个命令会生成一个新的提交,将合并引入的修改全部撤销。之后把这个新提交push到远程仓库,就能移除那次错误合并的影响。

注意事项

如果之后你还需要再次合并master到私有分支,记得先把这次的revert提交再revert一次,否则Git会默认保留"撤销合并"的状态,导致master的修改无法正常合并进来。

内容的提问来源于stack exchange,提问作者CodeWreck

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.13 05:24:51