如何在Azure DevOps中配置分支保护与合并限制策略?
Azure DevOps分支强制保护配置方案
通用配置入口
进入你的Azure DevOps项目,依次打开 Repos → Branches,找到目标分支(或用分支模式匹配批量分支),点击右侧的...菜单选择 Branch policies。
Master分支配置(对应目标1-3)
- 禁止删除/改写历史(目标1)
- 勾选 Protect matching branches,启用 Prevent deletion 和 Prevent force pushes,直接限制分支删除、强制推送(改写历史)操作。
- 禁止直接推送/合并(目标2)
- 在 Push restrictions 区域,点击 Add,选择项目的
Contributors组(包含内部开发者和外部承包商),设置权限为 Deny,阻止所有贡献者直接向Master推送代码;同时开启 Require pull request before merging,确保任何变更必须通过PR合并。
- 在 Push restrictions 区域,点击 Add,选择项目的
- 仅允许从Dev分支发起PR合并(目标3)
- 在 Branch restrictions 区域,找到 Allowed merge sources,点击 Add,选择
refs/heads/Dev分支,保存后只有从Dev分支发起的PR才能合并到Master。
- 在 Branch restrictions 区域,找到 Allowed merge sources,点击 Add,选择
Dev分支配置(对应目标4-6)
- 禁止删除/改写历史(目标4)
- 同Master分支配置,勾选 Protect matching branches,启用 Prevent deletion 和 Prevent force pushes。
- 禁止直接推送/合并(目标5)
- 在 Push restrictions 中添加
Contributors组并设置为 Deny,同时开启 Require pull request before merging,阻断直接推送路径。
- 在 Push restrictions 中添加
- 仅允许从其他分支发起PR变更(目标6)
- 在 Allowed merge sources 中,添加团队常用分支模式(如
refs/heads/feature/*、refs/heads/bugfix/*),或选择All branches except this one,确保只能从非Dev分支发起PR合并到Dev。
- 在 Allowed merge sources 中,添加团队常用分支模式(如
标记分支配置(对应目标7)
- 若指特定模式分支(如
release/*、hotfix/*),点击分支列表页 Branch policies 上方的 Add branch policy,输入分支模式(比如release/*),勾选 Protect matching branches,启用 Prevent deletion 和 Prevent force pushes,批量保护这类标记分支。
补充说明
- 策略配置后立即生效,如需给特定人员留紧急操作权限,可在Push restrictions中单独添加该用户并设置为 Allow(不推荐,尽量保持流程统一)。
- 可配合PR的代码审查、构建验证策略进一步提升安全性,比如要求至少1个审核人、PR必须通过构建才能合并。
内容的提问来源于stack exchange,提问作者Chris
相关产品推荐
相关产品推荐

