Azure DevOps PR显示旧文件版本及多合并基警告问题咨询
以下是几种可能导致该问题的原因:
分支历史存在复杂合并/重复合并
你的功能分支比较陈旧,之前可能和develop有过多次合并操作,或者执行过rebase这类改写历史的操作,导致Git无法确定唯一的合并基准,触发"Multiple merge bases detected"警告。这种情况下PR的文件对比逻辑会因为找不到正确的共同祖先而混乱,进而导致左侧源分支的文件版本显示异常。即使后续合并了develop,分支历史里的多个合并基依然存在,无法自动消除,所以问题得不到解决。Git合并基准计算逻辑的冲突
当分支存在多个符合条件的合并基时,PR平台依赖的Git对比逻辑可能会随机选择一个基准进行差异计算。点击"swap"切换分支对比方向时,系统会重新计算合并基,此时刚好选中了能正确显示develop版本的基准,所以右侧显示正常;但切回原PR方向后,系统又回到了之前有问题的基准选择逻辑,导致左侧版本再次显示错误。远程仓库/PR平台的缓存问题
多个成员拉取分支创建PR都复现问题,说明不是本地仓库的问题,大概率是远程仓库的分支历史未被PR平台正确识别,或者平台存在缓存,没有更新分支最新的合并信息,依然沿用了旧的合并基计算结果,导致显示异常。分支历史存在断裂或孤立提交
如果这个陈旧分支曾经被强制推送(git push --force)过,或者有过历史改写操作,可能会导致分支历史和develop分支的关联出现断裂,产生多个不连续的合并基,使得PR的文件对比无法正确识别源分支的最新版本。
内容的提问来源于stack exchange,提问作者CompanyDroneFromSector7G

