使用分支规则管理分支允许的操作 - Amazon CodeCatalyst

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

使用分支规则管理分支允许的操作

创建分支时,根据该角色的权限,允许对该分支执行某些操作。您可以通过配置分支规则来更改允许对特定分支执行的操作。分支规则基于用户在您的项目中的角色。您可以选择将某些预定义的操作(例如将提交推送到分支)限制给在项目中具有特定角色的用户。这可以通过限制允许哪些角色执行某些操作来帮助您保护项目中的特定分支。例如,如果您将分支规则配置为仅允许具有项目管理员角色的用户合并或推送到该分支,则在项目中具有其他角色的用户将无法更改该分支中的代码。

您应该仔细考虑为分支创建规则的所有影响。例如,如果您选择仅向具有项目管理员角色的用户推送到某个分支,则具有 “参与者” 角色的用户将无法在该分支中创建或编辑工作流程,因为工作流程YAML存储在该分支中,并且这些用户无法提交和推送更改到该分支YAML。作为最佳实践,请在创建分支规则之后对其进行测试,以确保它们不会产生任何您意想不到的影响。您也可以将分支规则与拉取请求的批准规则结合使用。有关更多信息,请参阅 管理合并拉取请求与批准规则的要求

注意

您必须具有项目管理员角色才能管理 CodeCatalyst 项目中源存储库的分支规则。您无法为链接仓库创建分支规则。

您只能创建比角色的默认权限更严格的分支规则。您不能创建比用户在项目中的角色所允许的更宽松的分支规则。例如,您无法创建允许具有审阅者角色的用户推送到分支的分支规则。

应用于源存储库默认分支的分支规则的行为方式与应用于其他分支的分支规则略有不同。应用于默认分支的任何规则都将自动应用于您指定为默认分支的任何分支。以前设置为默认分支的分支仍将保留适用于它的规则,只是它不再具有防止删除的保护。该保护仅适用于当前的默认分支。

分支规则有两种状态,标准自定义标准表示允许在分支上执行的操作与用户在分支操作中的角色权限相匹配 CodeCatalyst 的操作。要详细了解哪些角色拥有哪些权限,请参阅使用用户角色授予访问权限。“自定义” 表示一个或多个分支操作的操作具有允许执行该操作的特定角色列表,这些角色与用户在项目中的角色授予的默认权限不同。

注意

如果您创建分支规则来限制分支的一项或多项操作,则 “删除分支” 操作会自动设置为仅允许具有项目管理员角色的用户删除该分支。

下表列出了允许在分支上执行这些操作的角色的操作和默认设置。

分支操作和角色
分支操作

当未应用分支规则时,允许角色执行此操作

合并到分支(这包括将拉取请求合并到分支)

项目管理员、贡献者

推送到分支

项目管理员、贡献者

删除分支

项目管理员、贡献者

删除分支(默认分支)

不允许

您无法删除分支规则,但可以更新分支规则,以允许所有角色的操作在分支上执行此操作,从而有效地删除该规则。

注意

您必须具有项目管理员角色才能为 CodeCatalyst 项目中的源存储库配置分支规则。这不适用于链接存储库。链接存储库不支持中的分支规则 CodeCatalyst。

查看和编辑仓库的分支规则
  1. 导航到存储库所在的项目。

  2. 从项目的源存储库列表中选择存储库的名称。或者,在导航窗格中选择 “代码”,然后选择 “源存储库”。

    选择要在其中查看分支规则的存储库。

  3. 在存储库的概述页面上,选择分支

  4. 分支规则列中,查看存储库中每个分支的规则状态。标准表示分支操作规则是在源存储库中创建的任何分支的默认规则,并且与项目中授予这些角色的权限相匹配。“自定义” 表示一个或多个分支操作的规则将允许该分支执行的一个或多个操作限制为不同的角色集。

    要查看分支规则的细节,请选择要查看的分支旁边的 “标准” 或 “自定义” 一词。

  5. 要创建或更改分支规则,请选择管理设置。在源存储库的设置页面的分支规则中,选择编辑

  6. Branch 中,从下拉列表中选择要为其配置规则的分支的名称。对于每种允许的操作类型,从下拉列表中选择要允许执行该操作的角色,然后选择 “保存”。