管理分支保护规则
可创建分支保护规则,为一个或多个分支强制实施某些工作流,例如要求进行审批评审或通过状态检查来确保所有拉取请求都已合并到受保护的分支的。
分支保护规则 关于分支保护规则 可以在存储库中为特定分支、所有分支或者与使用 fnmatch
语法指定的命名模式匹配的任何分支创建分支保护规则。 例如,若要保护包含单词 release
的任何分支,可以为 *release*
创建分支规则。 可以使用通配符语法 *
为存储库中所有当前和未来的分支创建规则。 由于 GitHub 对 File.fnmatch
语法使用 File::FNM_PATHNAME
标志,因此通配符与目录分隔符 (/
) 不匹配。
例如,qa/*
将匹配所有以 qa/
开头并包含单个斜杠的分支。 可以用 qa/**/*
包含多个斜杠,也可以用 qa**/**/*
扩展 qa
字符串,以使规则更具包容性。
有关分支规则语法选项的详细信息,请参阅 fnmatch 文档。
如果仓库有多个影响相同分支的受保护分支规则,则包含特定分支名称的规则具有最高优先级。
如果有多个受保护分支规则引用相同的特定规则名称,则最先创建的分支规则优先级更高。
提及特殊字符的受保护分支规则,如 *
、?
或 ]
,将按其创建的顺序应用,因此含有这些字符的规则创建时间越早,优先级越高。
要创建对现有分支规则的例外,您可以创建优先级更高的新分支保护规则,例如针对特定分支名称的分支规则。
有关每个可用分支保护设置的详细信息,请参阅“关于受保护的分支”。
-
创建分支保护规则
- 创建分支规则时,指定的分支不必是仓库中现有的分支。
1. 在 你的 GitHub Enterprise Server 实例 上,导航到存储库的主页。 1. 在存储库名称下,单击 <svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-gear" aria-label="The gear icon" role="img"><path d="M8 0a8.2 8.2 0 0 1 .701.031C9.444.095 9.99.645 10.16 1.29l.288 1.107c.018.066.079.158.212.224.231.114.454.243.668.386.123.082.233.09.299.071l1.103-.303c.644-.176 1.392.021 1.82.63.27.385.506.792.704 1.218.315.675.111 1.422-.364 1.891l-.814.806c-.049.048-.098.147-.088.294.016.257.016.515 0 .772-.01.147.038.246.088.294l.814.806c.475.469.679 1.216.364 1.891a7.977 7.977 0 0 1-.704 1.217c-.428.61-1.176.807-1.82.63l-1.102-.302c-.067-.019-.177-.011-.3.071a5.909 5.909 0 0 1-.668.386c-.133.066-.194.158-.211.224l-.29 1.106c-.168.646-.715 1.196-1.458 1.26a8.006 8.006 0 0 1-1.402 0c-.743-.064-1.289-.614-1.458-1.26l-.289-1.106c-.018-.066-.079-.158-.212-.224a5.738 5.738 0 0 1-.668-.386c-.123-.082-.233-.09-.299-.071l-1.103.303c-.644.176-1.392-.021-1.82-.63a8.12 8.12 0 0 1-.704-1.218c-.315-.675-.111-1.422.363-1.891l.815-.806c.05-.048.098-.147.088-.294a6.214 6.214 0 0 1 0-.772c.01-.147-.038-.246-.088-.294l-.815-.806C.635 6.045.431 5.298.746 4.623a7.92 7.92 0 0 1 .704-1.217c.428-.61 1.176-.807 1.82-.63l1.102.302c.067.019.177.011.3-.071.214-.143.437-.272.668-.386.133-.066.194-.158.211-.224l.29-1.106C6.009.645 6.556.095 7.299.03 7.53.01 7.764 0 8 0Zm-.571 1.525c-.036.003-.108.036-.137.146l-.289 1.105c-.147.561-.549.967-.998 1.189-.173.086-.34.183-.5.29-.417.278-.97.423-1.529.27l-1.103-.303c-.109-.03-.175.016-.195.045-.22.312-.412.644-.573.99-.014.031-.021.11.059.19l.815.806c.411.406.562.957.53 1.456a4.709 4.709 0 0 0 0 .582c.032.499-.119 1.05-.53 1.456l-.815.806c-.081.08-.073.159-.059.19.162.346.353.677.573.989.02.03.085.076.195.046l1.102-.303c.56-.153 1.113-.008 1.53.27.161.107.328.204.501.29.447.222.85.629.997 1.189l.289 1.105c.029.109.101.143.137.146a6.6 6.6 0 0 0 1.142 0c.036-.003.108-.036.137-.146l.289-1.105c.147-.561.549-.967.998-1.189.173-.086.34-.183.5-.29.417-.278.97-.423 1.529-.27l1.103.303c.109.029.175-.016.195-.045.22-.313.411-.644.573-.99.014-.031.021-.11-.059-.19l-.815-.806c-.411-.406-.562-.957-.53-1.456a4.709 4.709 0 0 0 0-.582c-.032-.499.119-1.05.53-1.456l.815-.806c.081-.08.073-.159.059-.19a6.464 6.464 0 0 0-.573-.989c-.02-.03-.085-.076-.195-.046l-1.102.303c-.56.153-1.113.008-1.53-.27a4.44 4.44 0 0 0-.501-.29c-.447-.222-.85-.629-.997-1.189l-.289-1.105c-.029-.11-.101-.143-.137-.146a6.6 6.6 0 0 0-1.142 0ZM11 8a3 3 0 1 1-6 0 3 3 0 0 1 6 0ZM9.5 8a1.5 1.5 0 1 0-3.001.001A1.5 1.5 0 0 0 9.5 8Z"></path></svg>“设置”。
- 创建分支规则时,指定的分支不必是仓库中现有的分支。
-
在边栏的“代码和自动化”部分中,单击“ 分支”。
-
在“分支保护规则”旁边,单击“添加规则”。
-
在“Branch name pattern(分支名称模式)”下,输入您要保护的分支名称或模式。
- (可选)启用所需的拉取请求。 在“保护匹配分支”下,选择“合并前需要拉取请求”。
-
- (可选)若需要在合并拉取请求之前审批,选择“需要审批”,单击“合并前所需的审批数”下拉菜单,然后选择希望分支上要求的审批审阅数 。
(可选)若要在将代码修改提交推送到分支时关闭拉取请求审批审阅,选择“推送新提交时关闭旧拉取请求审批”。 - (可选)若要在拉取请求影响具有指定所有者的代码时要求代码所有者审阅,请选择“要求代码所有者审阅”。 有关详细信息,请参阅“关于代码所有者”。
- (可选)若要让特定参与者在需要时将代码推送到分支而不创建拉取请求,选择“允许指定参与者绕过所需的拉取请求”。 然后,搜索并选择应被允许跳过创建拉取请求的参与者。
(可选)如果存储库是组织的一部分,选择“限制可以关闭拉取请求审阅的人员”。 - 然后,搜索并选择有权忽略拉取请求审查的参与者。 有关详细信息,请参阅“关闭拉取请求审阅”。
(可选)启用必需状态检查。 - 有关详细信息,请参阅“关于状态检查”。 选择“合并前需要通过状态检查”。
(可选)若要确保使用受保护分支上的最新代码测试拉取请求,选择“要求分支在合并前保持最新”。
- (可选)若需要在合并拉取请求之前审批,选择“需要审批”,单击“合并前所需的审批数”下拉菜单,然后选择希望分支上要求的审批审阅数 。
-
搜索状态检查,选择您想要求的检查。 -
(可选)选择“合并前需要对话解决”。 -
(可选)选择“需要签名提交”。 -
(可选)选择“需要线性历史记录”。 (可选)若要选择在合并之前必须将更改成功部署到哪些环境,选择“需要在合并之前部署成功”,然后选择环境。 -
(可选)选择“会将上述规则应用于管理员。
-
(可选)启用分支限制。 选择“限制可推送到匹配分支的人员”。
-
搜索并选择有权限推送到受保护分支或创建匹配分支的人员、团队或应用。 -
-
(可选)在“适用于包括管理员在内的所有人的规则”下,选择“允许强制推送”。
然后,选择可以强制推送到分支的人员。 选择“所有人”,允许至少具有存储库写入权限的人强制推送到分支,包括具有管理员权限的人员。选择“指定可以强制推送的人员”,仅允许特定参与者强制推送到分支。
-
-
然后,搜索并选择这些参与者。
-
有关强制推送的详细信息,请参阅“允许强制推送”。
(可选)选择“允许删除”。
-
单击“创建”。 编辑分支保护规则
-
- 在 你的 GitHub Enterprise Server 实例 上,导航到存储库的主页。 1. 在存储库名称下,单击 “设置”。
- 在 你的 GitHub Enterprise Server 实例 上,导航到存储库的主页。 1. 在存储库名称下,单击 “设置”。
-
在边栏的“代码和自动化”部分中,单击“ 分支”。
-
在要编辑的分支保护规则的右侧,单击“编辑”。
对分支保护规则进行所需的更改。
单击“保存更改”。
删除分支保护规则