Azure DevOps中如何永久禁用release/*分支合并后的删除分支功能?
如何在Azure DevOps中永久禁用release/*分支合并后的「删除分支」选项并防止误删
针对release/*分支的需求,目前Azure DevOps没有原生选项直接灰化或隐藏合并时的「删除分支」复选框,但可以通过分支权限控制和分支策略实现等效效果,彻底防止分支被误删,具体操作如下:
1. 配置分支权限,禁止删除release/*分支
这是核心防护步骤,就算用户勾选了删除分支选项,没有权限也无法执行删除操作:
- 进入Azure DevOps项目的目标仓库,切换到「分支」页面
- 针对
release/*分支路径,点击「创建分支策略」 - 在策略设置的「权限」标签页中,找到「删除分支」权限项
- 对所有需要限制的用户/用户组,将该权限设置为「拒绝」(若需保留管理员删除权限,可单独给管理员组设置为「允许」)
- 保存设置后,任何无权限的用户都无法删除release/*分支,包括合并拉取请求时的自动删除操作
2. 可选:全局控制合并时的删除分支选项(影响所有分支)
如果希望所有分支的合并界面都默认禁用该选项,可以调整仓库的拉取请求全局设置:
- 进入仓库的「设置」->「拉取请求」
- 找到「完成拉取请求时允许删除源分支」选项,取消勾选
- 保存后,所有拉取请求的合并界面中,「删除分支」复选框会默认不勾选且无法手动勾选(该设置对全仓库分支生效)
注意:若仅需针对release/*分支做限制,优先使用第一步的权限控制即可,全局设置会影响所有分支的合并行为。
额外防护:分支锁定(谨慎使用)
如果需要极端防护,可对长期不再更新的release/*分支进行锁定:
- 在分支页面找到目标release分支,点击右侧「...」菜单,选择「锁定」
- 锁定后,任何修改(包括合并、删除)都需要先解锁,但这会导致无法正常合并拉取请求,仅适合已停更的发布分支
通过以上设置,就算用户在合并时误勾选了「删除分支」选项,也会因权限不足无法执行删除操作,彻底避免release/*分支被误删的情况。
内容的提问来源于stack exchange,提问作者cedfranke
相关产品推荐
相关产品推荐

