跳至主要内容

配置标签保护规则

你可以为你的存储库配置标签保护规则,以防止贡献者创建或删除标签。

谁可以使用此功能?

标签保护规则适用于使用 GitHub 免费版和 GitHub 免费版(适用于组织)的公共存储库,以及使用 GitHub Pro、GitHub Team、GitHub Enterprise Cloud 和 GitHub Enterprise Server 的公共和私有存储库。有关详细信息,请参阅“GitHub 的计划”。

注意

标签保护规则将于 2024 年 8 月 30 日弃用,取而代之的是规则集。弃用日期后仍在使用的任何标签保护规则都将自动迁移,但您也可以在弃用日期之前手动迁移它们。您可以在 GitHub 博客 上阅读有关此弃用的更多信息。

关于标签保护规则

添加标签保护规则后,所有与所提供的模式匹配的标签都将受到保护。只有具有存储库中“编辑存储库规则”权限的管理员或维护权限的用户或自定义角色才能创建受保护的标签,只有具有存储库中“编辑存储库规则”权限的管理员权限或自定义角色的用户才能删除受保护的标签。有关更多信息,请参阅“组织的存储库角色”。GitHub 应用需要存储库管理:写入权限才能修改受保护的标签。

关于将标签保护规则导入到存储库规则集

您可以将现有的标签保护规则导入到存储库规则集中。这将实现您当前为存储库设置的相同标签保护。有关更多信息,请参阅“将标签保护规则导入到存储库规则集”。

规则集相对于标签保护规则具有以下优势。

  • 与保护规则不同,多个规则集可以同时应用,因此你可以确信,当有人与你的存储库中的某个标签交互时,针对该标签的每条规则都将得到评估。有关更多信息,请参阅“关于规则集”。
  • 规则集具有状态,因此你可以轻松管理存储库中哪些规则集处于活动状态,而无需删除规则集。
  • 任何具有存储库读取权限的人都可以查看存储库的活动规则集。这意味着开发人员可以了解他们为何触发某条规则,或者审计员可以检查存储库的安全约束,而无需对存储库具有管理权限。
  • 使用规则集,你可以限制组织范围内的标签名称。

添加标签保护规则

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

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

    Screenshot of a repository header showing the tabs. The "Settings" tab is highlighted by a dark orange outline.

  3. 在侧边栏的“代码和自动化”部分,单击 标签

  4. 单击新建规则

  5. 在“标签名称模式”下,键入要保护的标签的模式。标签保护规则使用 fnmatch 语法。有关语法选项的信息,请参阅 fnmatch 文档。在此示例中,键入“*”将保护所有标签。

    Screenshot of the "Protected tags / New rule" page. The example pattern * is shown with the "Add rule" button.

  6. 单击添加规则

将标签保护规则导入存储库规则集

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

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

    Screenshot of a repository header showing the tabs. The "Settings" tab is highlighted by a dark orange outline.

  3. 在侧边栏的“代码和自动化”部分,单击 标签

  4. 单击右上角的导入到规则集

  5. 选择为创建和删除受保护标签创建单独的规则集为所有受保护标签操作创建一个规则集。创建后,可以编辑规则集以进一步优化其行为。

  6. 单击导入