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

为何Github PR会显示已存在于develop分支的cherry pick变更?

问题分析:PR显示已存在于目标分支的变更内容

操作流程

  • 初始状态下develop分支与feature1分支保持同步
  • 误在develop分支提交了3次变更
  • 切换至feature1分支,cherry pick了这3次提交的变更
  • 在feature1分支新增1次提交
  • 创建将feature1合并至develop的PR

当前该PR的Files Changed区域显示了那3次cherry pick的变更,但这些变更实际上已经存在于develop分支中。明明是从develop分支cherry pick的变更,为何PR会显示目标分支已存在的内容?

可能原因

核心原因在于cherry pick会生成全新的提交记录,每个新提交都拥有独立的哈希值。

GitHub对比分支差异时,是通过提交的哈希值来识别提交的——即便两次提交的代码内容完全一致,只要哈希值不同,就会被判定为不同的提交。因此,虽然这3次cherry pick的内容已经存在于develop分支,但由于它们是feature1分支上的全新提交(哈希值与develop上的原提交不同),PR的Files Changed区域仍会显示这些变更。

微软开发者社区的相关说明提到,GitHub对比两个分支的核心依据是提交哈希值,而非提交的内容本身。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.07 10:32:32