如何在Bitbucket中禁止创建新Master分支并默认选择Feature分支?
解决方案:限制分支创建并设置默认Feature分支
嘿,这个需求其实用Bitbucket Server本身的原生配置就能完美解决,不用依赖Bamboo(当然Bamboo可以做补充校验),我给你一步步拆解:
一、Bitbucket Server原生配置实现核心需求
这是最直接、最有效的方式,从源头控制分支创建权限和类型:
1. 禁止创建/修改Master分支
- 打开你的目标Bitbucket Server仓库,点击顶部的Settings(设置)
- 找到左侧菜单的Branch Permissions(分支权限)选项
- 点击Add permission rule(添加权限规则):
- 在Branch pattern(分支模式)中填写
master(如果你的主分支是main就填这个) - 在Permissions(权限)区域,选择Prevent modifications(禁止修改),然后勾选需要限制的所有用户/组(通常选“All users”即可)
- 保存规则后,任何人都无法创建新的master分支,也不能修改现有master分支的内容,从根源上堵住了创建master分支的可能
- 在Branch pattern(分支模式)中填写
2. 强制仅允许Feature分支并设为默认
利用Bitbucket的Branch Model(分支模型)配置来锁定分支类型:
- 还是在仓库的Settings里,找到Branch Model选项
- 配置分支类型:
- 确认Feature分支类型已存在(默认自带),如果没有就点击Add branch type创建,设置分支前缀为
feature/ - 可以删除或禁用其他不需要的分支类型(比如Bugfix、Release等),这样用户创建分支时就只能看到Feature选项
- 确认Feature分支类型已存在(默认自带),如果没有就点击Add branch type创建,设置分支前缀为
- 设置默认分支类型:
- 在分支模型页面找到Default branch type(默认分支类型),选择Feature
- 保存配置后,当用户从工单系统点击“Create Branch”跳转到Bitbucket时,默认就会选中Feature分支类型,完全符合你的需求
二、Bamboo Plan的补充作用
Bamboo主要负责CI/CD流水线执行,它不能直接控制Bitbucket的分支创建权限或默认类型,但可以做事后校验:
- 你可以在Bamboo流水线中添加一个前置步骤,检查当前触发流水线的分支是否以
feature/开头,如果不是就直接终止流水线并抛出错误 - 不过这只是补充手段,核心管控还是得靠Bitbucket的原生配置,毕竟前者是从源头阻止,后者是事后拦截
内容的提问来源于stack exchange,提问作者Hubert Borys Kościński
相关产品推荐
相关产品推荐

