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

如何排查Azure Repos中拉取请求的合并冲突原因

Git合并冲突排查方案

冲突核心原因

你的情况里冲突跑不出两个方向:

  1. FileB内容冲突:你在FeatureB改完FileB推送到远程后,Master分支也对FileB做了修改(毕竟你在Master执行了git add .和commit),两边对同一文件的同一段内容改得不一样,Git没法自动合并。
  2. FileA存在性冲突:FeatureB是从Master切出来的,之后Master新增了FileA,但FeatureB里一直没这个文件。合并时Git对“要不要保留FileA”的判断出现矛盾,也会触发冲突。

本地快速排查步骤

  • 先拉取远程最新代码到本地:
    git checkout master
    git pull origin master
    git checkout FeatureB
    git pull origin FeatureB
    
  • 尝试本地合并Master到FeatureB,直接看冲突细节:
    git merge master
    
    执行完Git会明确告诉你哪个文件冲突,打开冲突文件能看到用<<<<<<<、=======、>>>>>>>分隔的两边修改内容,一眼就能看明白冲突点。
  • 如果是FileA的问题,Git会提示类似“deleted by us”或“added by them”的字样,说明两边对这个文件的存在状态不一致。

Azure Repos上的排查方法

在拉取请求页面找冲突标签,里面会列出所有冲突文件,点进去就能看具体冲突内容。要是是文件存在性冲突,会直接显示“文件在一个分支存在,另一个分支不存在”的提示。

冲突解决建议

  • FileB内容冲突:直接编辑冲突文件,留下你需要的内容,删掉Git的冲突标记后提交就行。
  • FileA存在性冲突:要保留FileA的话,就在FeatureB分支执行git checkout master -- FileA把文件拉过来再提交;不需要的话,就在Master分支删掉FileA再合并。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.21 12:52:10