You need to enable JavaScript to run this app. Git 最后一次合并提交被忽略:双向合并后仅显示单次提交的解决方法
优惠活动
大模型
产品
解决方案
定价
更多

Git 最后一次合并提交被忽略:双向合并后仅显示单次提交的解决方法

我的操作步骤

  • 步骤1:将 develop 分支合并到 feature 分支
  • 步骤2:确认所有内容校验正常后,立刻将 feature 分支合并回 develop 分支

遇到的异常情况

完成上述操作后,实际提交记录的表现和预期不符:
当前Git提交状态
提交历史中仅显示「将 develop 合并到 feature」的提交记录,「将 feature 合并回 develop」的提交完全没有出现。

预期效果

我希望两次合并操作对应的提交都能在提交历史中正常展示,最终的记录样式参考如下:
预期提交展示效果


问题原因和对应解法

出现这个现象是Git的默认合并逻辑导致的:
Git默认开启快进(Fast-forward)合并规则:当你把 develop 合并到 feature 之后,feature 分支的提交已经完全覆盖了 develop 的所有最新提交,这时候你切回 develop 去合并 feature,Git会发现两边的提交链是完全连贯的,根本不需要额外生成一个合并节点,只需要把 develop 的分支指针直接挪到 feature 的最新提交位置就行,自然不会留下第二次合并的提交记录。

如果要让两次合并的提交都完整展示在历史里,只需要在执行第二次合并的时候,强制Git生成合并节点、跳过快进逻辑就可以:

  • 先按原流程走完第一步:在 feature 分支执行 git merge develop,完成第一次合并,这个提交会正常显示在历史里
  • 切回 develop 分支,执行合并操作的时候加上 --no-ff 参数,手动指定合并提交信息:
    git merge --no-ff feature -m "将feature分支合并回develop"
    加了这个参数之后,不管当前分支的状态是不是满足快进条件,Git都会生成一个独立的合并提交,两次合并的记录就都会按照你预期的样式展示了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.29 05:15:02