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

从Git合并commit创建新分支后,合入分支的提交消失怎么办

问题根因

合并提交H存在两个父提交:

  • 第一个父提交是执行合并操作时所在的master分支的最新提交D
  • 第二个父提交是被合并的develop分支的最新提交G

Git默认采用线性回溯策略展示提交历史,只会沿着合并提交的第一个父提交链路追溯,因此只会显示A-B-C-D-H这条主线的提交,develop分支的E、F、G提交默认被隐藏,并非真的从新分支的历史中丢失。

查看完整历史的方法

命令行操作

执行带--graph参数的log命令,即可展示包含所有合并链路的完整提交历史:

git log --graph

如果需要更简洁的可读格式,可以追加--oneline参数:

git log --graph --oneline

如果需要单独验证某个提交是否存在于当前分支,直接查询对应提交哈希即可,没有报错就说明提交确实属于当前分支:

git show <E/F/G对应的提交哈希>

Git Desktop操作

调整历史展示设置即可显示被隐藏的合并分支提交:

  • 切换到历史Tab页
  • 点击右上角的历史展示设置按钮(齿轮/三点图标)
  • 勾选「显示完整历史」/「展示合并提交的所有父链路」选项(不同版本Git Desktop表述略有差异)

补充说明:你从H创建的新分支已经完整包含E、F、G的所有代码变更,默认隐藏提交仅属于展示逻辑,不会对代码内容和分支完整性产生任何影响。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 13:54:02