保护分支是 CODING 针对 Git 中有关代码权限开发的一个特色功能,可以将选中的分支保护起来,防止未经报备、允许的更改。
开启后,保护分支在分支列表中将以绿色盾牌为标志。成员修改保护分支时需新建一个分支并在其中进行修改,创建合并请求后邀请其他成员评审代码,评审完成并允许合并后才能执行合并操作。
![](https://qcloudimg.tencent-cloud.cn/image/document/ce8a54e9d64cd57593c08f65f22b7223.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/ce8a54e9d64cd57593c08f65f22b7223.png)
设置保护分支规则
在代码仓库的设置 > 分支设置中的分支规则名称中输入需要被保护的分支,符合命名规则的分支都会被视为保护分支。
![](https://qcloudimg.tencent-cloud.cn/image/document/88551480a28f972f449f64b72faa0bc1.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/88551480a28f972f449f64b72faa0bc1.png)
禁止强制推送:默认打开。即使有 git push 的权限,也不允许通过
git push -f
的方式强制修改分支的提交历史。对于多人合作的分支,强烈建议打开此选项。它确保了只能通过增加新的提交来改变分支内容,而不是修改历史提交的方式来提交变更。开启状态检查:通过在 CI 中设置规范性检查条件或设置代码扫描方案,运行 CI 成功后才被允许合并,查看 触发规则 了解更多信息。
自动添加分支管理员为评审者:该功能开启之后,针对所有合并到此保护分支的合并请求,都会自动将当前分支的全部管理员设置为评审者。
开启代码所有者评审:该功能开启之后,针对合并到该保护分支的合并请求,如果存在对代码所有者的文件的修改,则必须经过代码所有者的评审之后才允许合并。一般而言不同的代码路径决定了应用中的某项功能,这些功能的维护者天然不希望代码被其他成员无意间改动。
合并请求允许合并授权数量:用于设置合并请求必须经过多少位分支管理员的授权之后才允许合并到目标分支。如果该保护分支没有设置分支管理员,需经过1位普通成员授权之后才允许合并。
指定分支管理员
分支管理员为可选项。添加管理员后,所有的合并请求需得到管理员的允许才能被允许合并。管理员默认受到保护分支的条件限制,需创建合并请求才可修改分支。勾选“允许直接推送”后,管理员将不受保护限制,可以直接修改保护分支内容。
![](https://qcloudimg.tencent-cloud.cn/image/document/474dd3c3e45ff3026eed7c7b68823916.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/474dd3c3e45ff3026eed7c7b68823916.png)
若成员没有权限(即保护分支的非分支设置员) push 至该分支,当其尝试 push 至该分支的时候,会得到如下错误提示:
![](https://qcloudimg.tencent-cloud.cn/image/document/6adf7c5c581adb80b7ff83dee467a105.png)
![](https://qcloudimg.tencent-cloud.cn/image/document/6adf7c5c581adb80b7ff83dee467a105.png)