Skip to main content

将分支保护转换为规则集

使用规则集可以更清晰地查看和控制存储库保护,同时保留其现有行为。

谁可以使用此功能?

People with admin access to a repository, or a custom role with the "edit repository rules" permission, can create, edit, and delete rulesets for a repository.

组织可通过 GitHub Free 和 GitHub Free 在公共仓库中使用规则集,也可通过 GitHub Pro、GitHub Team 和 GitHub Enterprise Cloud 在公共和私有仓库中使用规则集。 请参阅“GitHub的计划”。

推送规则集适用于 GitHub Team 内部和专用存储库中的计划,以及启用了推送规则集的存储库分支。

关于将分支保护转换为规则集

规则集提供更清晰的可见性和控制保护应用于存储库的方式。 与分支保护规则不同,多个规则集可以同时应用于同一分支,具有读取访问权限的人员可以查看活动规则集。 这有助于开发人员了解影响它们的规则,并允许审核员在没有管理员访问权限的情况下查看存储库保护。

若要将现有保护移动到此模型,请在引导流中一次转换一个分支保护规则。 GitHub 生成一个或多个保留原始规则行为的规则集。 可以预览规则集 并在删除原始分支保护规则之前验证结果。

有关规则集的详细信息,请参阅 关于规则集

将分支保护规则转换为规则集

  1. 在 GitHub 上,导航到存储库的主页面。

  2. 在仓库名称下,单击 “Settings”****。 如果看不到“设置”选项卡,请选择“”下拉菜单,然后单击“设置”。

    存储库标头的屏幕截图,其中显示了选项卡。 “设置”选项卡以深橙色边框突出显示。

  3. 在边栏的“Code and automation”部分中,单击 “Branches”****。

  4. 在“分支保护规则”下,找到要转换的规则,然后单击“ 转换为规则集”。

  5. 为此转换中创建的每个规则集设置规则集名称。

  6. 查看“新建行为”部分,了解创建规则集或规则集时将发生哪些更改。

  7. (可选)若要在转换过程中删除原始分支保护规则,请在 迁移完成后选择“删除分支保护规则”。

  8. 单击“ 创建规则集”。 如果转换生成多个规则集,按钮将包含规则集的数量,例如 “创建 2 个规则集”。

如果保留原始分支保护规则,它会继续保护匹配的分支。 活动规则集与活动规则集一起强制执行,因此更改必须满足这两者的需求。

注意

转换涵盖所有分支保护类型,但“合并前需要对话解析”设置除外。 在分支保护中,此设置本身存在。 在规则集中,会话解析是拉取请求规则的一部分,仅在启用该规则时适用。 因此,此设置不会在转换期间将一个映射到一个。 请参阅“规则集的可用规则”。

新规则集具有 “活动 ”状态,这意味着在创建规则集后立即强制实施。

删除原始分支保护规则

转换规则后,返回到 “分支 设置”页。 如果在转换过程中未选择删除分支保护规则,并且新规则集完全覆盖它,则列出的规则将显示消息“此规则完全由规则集覆盖,可以安全删除”,并且“ 删除 ”按钮将代替 “转换为规则集 ”按钮。

在删除原始规则之前,我们建议确认新规则集的行为与预期创建规则集时。 准备就绪后,单击“ 删除 ”以删除分支保护规则。

延伸阅读