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

Azure DevOps拉取请求合并分支:冲突文件解决与文件忽略方法

在Azure DevOps拉取请求中解决冲突文件

当拉取请求(PR)出现文件冲突时,有两种常用解决方式:

方式一:Azure DevOps网页端直接解决

  • 打开目标PR页面,切换到冲突标签页,查看所有存在冲突的文件列表
  • 点击具体冲突文件,进入在线编辑器:左侧显示源分支的内容,右侧显示目标分支的内容,冲突部分会被高亮标记
  • 直接在编辑器中编辑代码,选择保留需要的内容,删除冲突标记(<<<<<<<、=======、>>>>>>>)
  • 编辑完成后,点击「合并冲突」保存修改
  • 确认所有冲突解决完毕后,即可继续完成PR的合并流程

方式二:本地解决冲突后推送

  • 拉取目标分支的最新代码:
    git checkout <目标分支名称>
    git pull origin <目标分支名称>
    
  • 切换回你的源分支:
    git checkout <源分支名称>
    
  • 将目标分支合并到源分支,触发冲突提示:
    git merge <目标分支名称>
    
  • 打开冲突文件,找到<<<<<<<(源分支内容起始)、=======(分隔线)、>>>>>>>(目标分支内容结束)标记的冲突块,手动修改代码保留需要的内容,删除冲突标记
  • 将修改后的冲突文件加入暂存区:
    git add <冲突文件名>
    
  • 提交合并结果:
    git commit -m "解决分支合并冲突"
    
  • 推送到远程源分支:
    git push origin <源分支名称>
    
  • 回到Azure DevOps的PR页面,此时冲突已自动消除,可继续完成合并

合并分支时忽略单个或多个文件

Azure DevOps本身没有内置「合并时忽略文件」的功能,需要借助Git命令来实现,分两种场景处理:

场景一:单次合并时暂时忽略文件

方法1:合并前先阻止指定文件的更新

  • 拉取目标分支最新代码,切换到源分支后,执行带参数的合并命令(不自动提交):
    git merge <目标分支名称> --no-commit --no-ff
    
  • 撤销指定文件的合并修改,恢复到合并前状态:
    git reset HEAD <要忽略的文件名>
    git checkout -- <要忽略的文件名>
    
  • 确认其他文件合并正常后,提交合并结果:
    git commit -m "合并分支,忽略[文件名]的修改"
    git push origin <源分支名称>
    

方法2:合并后回退指定文件

  • 先正常完成分支合并,然后回退指定文件到合并前的版本:
    git checkout HEAD~1 -- <要忽略的文件名>
    
  • 提交回退操作:
    git commit -m "回退[文件名]到合并前状态"
    git push origin <源分支名称>
    

场景二:永久忽略特定文件的合并(适合配置文件等)

使用Git的skip-worktree标记,让Git忽略该文件的本地修改,不会被提交或同步到远程:

  • 标记需要忽略的文件:
    git update-index --skip-worktree <文件名>
    
  • 若后续需要取消忽略,执行:
    git update-index --no-skip-worktree <文件名>
    

注意:该标记是本地设置,每个仓库开发者都需单独配置,无法通过远程仓库统一同步


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.07 04:35:24