Azure仓库Web端操作:合并TEST到Master时忽略Folder1
合并TEST分支到Master时忽略Folder1的可行方案
方案1:Pull Request中手动排除Folder1变更
通过Azure DevOps浏览器界面创建TEST到Master的Pull Request(PR)后:
- 切换到PR的「变更」标签页
- 找到所有属于Folder1目录下的文件变更,逐个勾选「排除」选项,这些变更将不会被合并至Master
- 完成PR合并,Master分支将仅保留FolderA的内容
此方案适合合并频率较低的场景,每次合并都需要手动操作。
方案2:本地Git命令行合并(配合Azure仓库推送)
若能在本地操作仓库,可通过Git合并策略实现自动忽略Folder1:
- 拉取仓库最新分支:
git fetch origin git checkout master && git pull origin master git checkout test && git pull origin test - 切换到Master分支,执行带策略的合并命令:
该命令指定合并时对Folder1目录保留Master分支的版本(即完全忽略TEST分支中Folder1的内容)git checkout master git merge test --strategy-option=theirs --strategy-option=directory=Folder1 - 提交并推送至Azure仓库:
git push origin master
方案3:Azure DevOps自动化Pipeline(长期自动忽略)
适合需要频繁合并且无需手动干预的场景:
- 开启Master分支的保护规则,要求所有合并必须通过Pull Request
- 创建Azure DevOps Pipeline,设置为PR触发(当有TEST到Master的PR时自动运行)
- 在Pipeline中添加以下脚本步骤:
git checkout master git merge origin/test --strategy-option=theirs --strategy-option=directory=Folder1 git add . git commit -m "合并TEST到Master,自动忽略Folder1" - 配置Pipeline在验证通过后自动完成PR合并,此后每次合并都会自动排除Folder1的内容
注意事项
- 若Master分支原本不存在Folder1,合并时会直接跳过TEST中的Folder1;若Master曾有Folder1,需先在Master中删除该目录,后续合并才不会被重新添加
- 三种方案可根据合并频率和自动化需求选择
内容的提问来源于stack exchange,提问作者user3345547
相关产品推荐
相关产品推荐

