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

执行git revert产生合并冲突应接受当前更改还是传入更改及原因?

Git revert 合并冲突选择规则

你当前的提交链为 A <- B <- C <- D <- E <- HEAD,按从新到旧顺序撤销D、B时出现的冲突,可按以下规则判断选择:

执行git revert --no-commit D时出现冲突

  • 当前更改:对应撤销操作前的HEAD状态,也就是E提交的完整内容
  • 传入更改:对应Git为撤销D生成的反向修改,目的是将D改动的内容还原到C提交的状态
    这种场景下除非你明确要保留D的部分修改,否则直接选择传入更改即可完成D的撤销。

执行git revert --no-commit B时出现冲突

  • 当前更改:对应已经完成D撤销后的工作区状态
  • 传入更改:对应Git为撤销B生成的反向修改,目的是将B改动的内容还原到A提交的状态
    这种场景下分两种情况处理:
  • 冲突内容和D的修改无关:直接选择传入更改即可
  • 冲突内容是B、D修改了同一块代码导致的:手动编辑冲突文件,保留C、E提交的改动,移除B、D的改动即可

最终校验

冲突处理完成后,可执行git diff检查最终内容,确认B、D的改动都被移除,C、E的改动完整保留后,再执行git commit完成整个撤销操作。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 11:51:00