关于将分支保护转换为规则集
规则集提供更清晰的可见性和控制保护应用于存储库的方式。 与分支保护规则不同,多个规则集可以同时应用于同一分支,具有读取访问权限的人员可以查看活动规则集。 这有助于开发人员了解影响它们的规则,并允许审核员在没有管理员访问权限的情况下查看存储库保护。
若要将现有保护移动到此模型,请在引导流中一次转换一个分支保护规则。 GitHub 生成一个或多个保留原始规则行为的规则集。 可以预览规则集,选择每个规则集的强制实施方式, 并在删除原始分支保护规则之前验证结果。
有关规则集的详细信息,请参阅 关于规则集。
将分支保护规则转换为规则集
-
在 GitHub 上,导航到存储库的主页面。
-
在仓库名称下,单击 “Settings”****。 如果看不到“设置”选项卡,请选择“”下拉菜单,然后单击“设置”。

-
在边栏的“Code and automation”部分中,单击 “Branches”****。
-
在“分支保护规则”下,找到要转换的规则,然后单击“ 转换为规则集”。
-
为此转换中创建的每个规则集设置规则集名称。
-
查看“新建行为”部分,了解创建规则集或规则集时将发生哪些更改。
-
在“强制状态”下,选择如何强制执行新规则集。 有关详细信息,请参阅 “选择强制状态”。
-
如果选择 “活动”,可以选择删除原始分支保护规则作为转换的一部分,方法是在 迁移完成后选择“删除分支保护规则”。
-
单击“ 创建规则集”。 如果转换生成多个规则集,按钮将包含规则集的数量,例如 “创建 2 个规则集”。
如果保留原始分支保护规则,它会继续保护匹配的分支。 活动规则集与活动规则集一起强制执行,因此更改必须满足这两者的需求。 评估规则集记录其行为方式,而无需强制执行其规则。
注意
转换涵盖所有分支保护类型,但“合并前需要对话解析”设置除外。 在分支保护中,此设置本身存在。 在规则集中,会话解析是拉取请求规则的一部分,仅在启用该规则时适用。 因此,此设置不会在转换期间将一个映射到一个。 请参阅“规则集的可用规则”。
选择强制状态
转换分支保护规则时,请选择新规则集的强制状态。
- 活动:创建规则集后立即强制执行。
- 评估:规则集在不强制实施规则的情况下运行,因此你可以在规则生效之前查看其行为方式。
虽然默认情况下选择了 “活动” ,但请考虑哪种状态符合你的情况:
- 如果之前已创建或迁移类似的规则,并且对结果有信心,则可以使用 Active。
- 如果这是你的第一次迁移,请考虑从 评估 模式开始。 可以确认新规则集的行为按预期方式运行,然后在完成测试后删除原始分支保护规则。
删除原始分支保护规则
转换规则后,返回到 “分支 设置”页。 如果在转换过程中未选择删除分支保护规则,并且新规则集完全覆盖它,则列出的规则将显示消息“此规则完全由规则集覆盖,可以安全删除”,并且“ 删除 ”按钮将代替 “转换为规则集 ”按钮。
在删除原始规则之前,我们建议确认新规则集的行为与预期相同,尤其是在评估模式下创建规则集时。 准备就绪后,单击“ 删除 ”以删除分支保护规则。