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>,...]) 要移除的許可權,有時稱為未設定。 您可以在相同的呼叫中使用、 與 /remove 這三/allow/deny個 。 如需允許、拒絕和移除設定互動方式的詳細資訊,請參閱 許可權設定
/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 存在於存放庫根目錄。
  • 所有使用者都可以在和 users/ 資料夾下features/建立分支。
  • 管理員 istrators 將能夠建立資料夾下的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

然後,允許參與者在和 usersfeatures建立分支。

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