Azure Repos创建PR时出现Multiple merge bases detected警告是什么含义
该警告的具体含义
该提示的中文翻译为:
警告:检测到多个合并基点,显示的提交列表可能不完整。
核心原理说明
Git执行分支合并操作时,默认会先寻找两个分支的最近共同祖先节点,这个节点就是合并基点,用来比对两个分支的差异、生成待合并提交列表、判断合并冲突。
当出现该警告时,说明你的源分支A和目标分支B之间存在不止一个符合条件的共同祖先节点,常见触发场景有:
- 两个分支存在交叉合并历史:比如此前曾从分支B合并过代码到分支A,后续两个分支又各自有独立提交
- 分支历史中存在
cherry-pick、部分rebase操作,产生了多个等价的共同祖先节点 - 项目有多分支并行合并的复杂历史,形成了环形的提交链路
实际影响说明
- 该警告不等于存在合并冲突,不会直接阻塞PR合并
- 仅会导致PR页面展示的提交记录、变更对比列表可能存在遗漏,你在页面上看到的差异不一定是两个分支的全量真实差异
- Git合并时默认会用递归合并策略处理多合并基场景,一般不会出现代码合入错误,合并前手动核对最终合入结果符合预期即可
可选解决方案
如果要消除该警告,可以先把目标分支B的最新代码同步合并到源分支A,推送至远端后重新创建PR,绝大多数场景下都可以生成唯一的合并基点,消除警告。

内容的提问来源于stack exchange,提问作者Janani
相关产品推荐
相关产品推荐

