
# 配置保护分支规则
#### 保护分支规则概述
CodeArts Repo可以保护代码分支的安全性，阻止管理者外的人推送代码、阻止任何人强行推送代码或者阻止任何人删除这个分支，用户可以将这个分支设置保护分支。
#### 介绍视频
<video controls="controls" preload="none" id="object19629154619455" class="idp-external-video" src="https://res-video.hc-cdn.com/cloudbu-site/china/zh-cn/support/codehub-video/1752502815036594552.mp4" title="配置项目级保护分支规则" poster="https://support.huaweicloud.com/usermanual-codeartsrepo/zh-cn_image_0000002367904144.jpg" style="width:100%;height:auto;max-width:600px"></video>
#### 约束与限制
当用户角色为"项目经理"或者"项目管理员"，可以设置项目级保护分支规则，权限配置请参考[配置项目级的Repo权限](https://support.huaweicloud.com/usermanual-codeartsrepo/codeartsrepo_03_0087.html)。
#### 配置保护分支规则
如果用户想让本项目下所有代码组和仓库均使用以上设置，勾选"开启强制继承"即可。
1. 在代码托管首页，进入项目"Scrum_Test"，用户在上方导航栏选择"设置" \> "策略设置" \> "保护分支"，单击"新建保护分支"。
2. 如下图所示，设置master分支为保护分支，任何人不可以推送代码，仅Committer角色可合并代码到该保护分支。
   
   **如果分支中包含单斜杠（/），由于fnmatch语法规则，该分支无法用通配符"\*"匹配。**
   ![](https://support.huaweicloud.com/usermanual-codeartsrepo/zh-cn_image_0000002570748720.png "点击放大")
   表1新建保护分支参数 
   | 参数名称        | 参数解释                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
   |:---|:---|
   | 选择需要添加的保护分支 | 根据自己的需要输入完整的分支名或者带通配符的分支名。 仅支持单个添加，不支持批量添加。要求以"refs/heads/"开头，结尾可以有 "\*"，其它位置不可以出现特殊字符。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
   | 添加权限        | 支持添加的权限包括如下： - 推送。拥有该权限，可推送Commit到分支。  - 合并。拥有该权限，可以合入、Rebase、关闭、重开、更新Patchset、基本属性编辑（基本属性包括标题、检视人/审核人/合并人、工作项、Patchset-lock等）。  - 创建/删除分支。拥有该权限，可创建新的保护分支或删除现有保护分支。   |
      
   ![](https://support.huaweicloud.com/usermanual-codeartsrepo/public_sys-resources/warning_3.0-zh-cn.png)
   - 用户开启"允许强制推送"后，有分支推送权限用户可使用强推命令覆盖保护分支，但不可删除分支。
   
   - 如果"提交规则"已设置"拒绝使用git push -f命令提交代码"，该按钮的开启不会生效。
    
   
   
 
#### 相关文档
当用户在提交代码文件时，如果报错"DEV-23-8040：没有对目标保护分支的提交权限。"即用户当前操作的分支为保护分支，并且用户没有"提交"权限，可通过管理员[配置"提交"权限](https://support.huaweicloud.com/usermanual-codeartsrepo/codeartsrepo_03_0066.html)。
