Git 权限命令

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

Visual Studio 2019 | Visual Studio 2022

tf git permission 命令会修改用户访问控制列表 (ACL),并显示 Git 存储库中 Git 存储库或分支的授权设置。

先决条件

  • 要查看权限,必须能够在工件中查看所请求的信息类型:查看项目集合的集合级信息,查看项目的项目级信息,读取存储库和分支(如果在查看分支权限)。

  • 要管理权限,必须具有所需工件的“管理权限”。

有关详细信息,请参阅默认 Git 权限

语法

tf git permission [/allow:(* |perm1[,perm2,...]] 
                  [/deny:(* |perm1[,perm2,...])]
                  [/remove:(* |perm1[,perm2,...])]
                  [/user:username1[,username2,...]]
                  [/group:groupname1[,groupname2,...]]
                  /collection:TeamProjectCollectionUrl
                  [/teamproject:TeamProjectIdentifier]
                  [/repository:RepositoryIdentifier]
                  [/branch:BranchName]
                  [/login:username,[password]]

参数设置

参数 说明
/allow:(* |<perm1>[,<perm2>,...]) 要允许的权限。
/deny:(* |<perm1>[,<perm2>,...]) 要拒绝的权限。
/remove:(* |<perm1>[,<perm2>,...]) 要移除的权限,有时称为未设置。 可以在同一调用中同时使用 /allow/deny/remove。 有关如何允许、拒绝和移除设置交互的详细信息,请参阅权限设置
/user:<username1>[,<username2>,...] 要允许、拒绝或移除其权限的用户。 必须至少指定一个用户或组。
/group:<groupname1>[,<groupname2>,...] 要允许、拒绝或移除其权限的组。 必须至少指定一个用户或组。 组和个人可以一起使用。
/collection:<TeamProjectCollectionUrl> 指定包含要查看或修改的权限的项目集合 URL。 例如 http://myserver:8080/tfs/DefaultCollectionhttps://fabrikam-fiber.visualstudio.com。 此参数是必需的。
/teamproject:<TeamProjectIdentifier> 指定包含要查看或修改的权限的项目名称。
/repository:<RepositoryIdentifier> 指定包含要查看或修改的权限的存储库名称。
/branch:<BranchName> 指定包含要查看或修改的权限的分支名称。 如果指定 /branch,则还必须指定 /repository
/login:<username>[,<password>] 指定用于运行该命令的用户帐户。 请参阅使用 Team Foundation 版本控制命令

有关可由 tf git permission 命令管理的权限列表,请参阅 Git 存储库权限命名空间

示例

注意

为方便阅读,将以下示例分为多行。 要将它们复制并粘贴到命令行中并运行,请先将其复制并粘贴到记事本或其他工具中,然后进行编辑,以便将命令包含在一行中。

查看集合级权限

以下示例列出了 fabrikam-fiber 集合的权限。

tf git permission /collection:https://dev.azure.com/fabrikam-fiber 
                  /login:FabrikamUser@hotmail.com,FabrikamPassword

查看项目级权限

以下示例列出了 fabrikam-fiber 集合中 FabrikamFiber 项目的项目级权限。

tf git permission /collection:https://dev.azure.com/fabrikam-fiber 
                  /teamproject:FabrikamFiber
                  /login:FabrikamUser@hotmail.com,FabrikamPassword

查看存储库级权限

以下示例列出了 FabrikamFiber 项目中 FabrikamFiber 存储库的项目级权限。

tf git permission /collection:https://dev.azure.com/fabrikam-fiber 
                  /teamproject:FabrikamFiber 
                  /repository:FabrikamFiber 
                  /login:FabrikamUser@hotmail.com,FabrikamPassword

需要分支文件夹命令

以下示例演示如何创建强制实施以下约束的分支策略:

  • 只有 main 可以存在于存储库根目录中。
  • 允许所有用户在 features/users/ 文件夹下创建分支。
  • 管理员能够在 releases/ 文件夹下创建分支。

在此示例中,使用以下集合、项目和存储库:

  • /collection: https://fabrikam-fiber.visualstudio.com
  • /teamproject: FabrikamProject
  • /repository FabrikamRepo

首先,在存储库根目录下阻止项目参与者的 CreateBranch 权限。

tf git permission /deny:CreateBranch 
                  /group:[FabrikamProject]\Contributors 
                  /collection:https://dev.azure.com/fabrikam-fiber/ 
                  /teamproject:FabrikamProject 
                  /repository:FabrikamRepo

然后,允许参与者在 featuresusers 下创建分支。

tf git permission /allow:CreateBranch 
                  /group:[FabrikamProject]\Contributors 
                  /collection:https://dev.azure.com/fabrikam-fiber/ 
                  /teamproject:FabrikamProject 
                  /repository:FabrikamRepo 
                  /branch:features

tf git permission /allow:CreateBranch 
                  /group:[FabrikamProject]\Contributors 
                  /collection:https://dev.azure.com/fabrikam-fiber/ 
                  /teamproject:FabrikamProject 
                  /repository:FabrikamRepo 
                  /branch:users

允许管理员在 releases 下创建分支。

tf git permission /allow:CreateBranch 
                  /group:"[FabrikamProject]\Project Administrators" 
                  /collection:https://dev.azure.com/fabrikam-fiber/ 
                  /teamproject:FabrikamProject 
                  /repository:FabrikamRepo 
                  /branch:releases

最后,允许管理员创建名为 main 的分支,以防将其意外删除。

tf git permission /allow:CreateBranch 
                  /group:"[FabrikamProject]\Project Administrators" 
                  /collection:https://dev.azure.com/fabrikam-fiber/ 
                  /teamproject:FabrikamProject 
                  /repository:FabrikamRepo 
                  /branch:main