Comando de permissão do Git

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

Visual Studio 2019 | Visual Studio 2022

O comando tf git permission modifica a lista de controle de acesso (ACL) do usuário e exibe as configurações de autorização para um repositório Git ou branch em um repositório Git.

Pré-requisitos

  • Para visualizar as permissões, você deve ver o artefato para o tipo de informação que está solicitando: Ver informações no nível da coleção para coleções de projetos, Ver informações no nível do projeto para projetos e Ler para repositório e branch se estiver exibindo permissões de branch.

  • Para gerenciar permissões, é preciso ter permissões para Gerenciar o artefato desejado.

Para saber mais, confira Permissões padrão do Git.

Sintaxe

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]]

Parâmetros

Parâmetro Descrição
/allow:(* |<perm1>[,<perm2>,...]) As permissões para permitir.
/deny:(* |<perm1>[,<perm2>,...]) As permissões a serem negadas.
/remove:(* |<perm1>[,<perm2>,...]) As permissões para remover, às vezes chamadas de não definidas. É possível usar todas as três (/allow, /deny e /remove) na mesma invocação. Para saber mais sobre como as configurações permitir, negar e remover interagem, confira Configurações de permissão.
/user:<username1>[,<username2>,...] O usuário ou os usuários para os quais permitir, negar ou remover permissões. Você deve especificar pelo menos um usuário ou grupo.
/group:<groupname1>[,<groupname2>,...] O grupo ou os grupos para os quais permitir, negar ou remover permissões. Você deve especificar pelo menos um usuário ou grupo. Grupos e indivíduos podem ser usados juntos.
/collection:<TeamProjectCollectionUrl> Especifica a URL da coleção de projetos que contém as permissões para exibir ou modificar. Por exemplo: http://myserver:8080/tfs/DefaultCollection ou https://fabrikam-fiber.visualstudio.com. Este parâmetro é necessário.
/teamproject:<TeamProjectIdentifier> Especifica o nome do projeto que contém as permissões para exibir ou modificar.
/repository:<RepositoryIdentifier> Especifica o nome do repositório que contém as permissões para exibir ou modificar.
/branch:<BranchName> Especifica o nome do branch que contém as permissões para exibir ou modificar. Se você especificar /branch, também deverá especificar /repository.
/login:<username>[,<password>] Especifica a conta de usuário para executar o comando. Confira Usar comandos de controle de versão do Team Foundation.

Confira Namespaces de permissão do repositório Git para ver uma lista das permissões que podem ser administradas pelo comando tf git permission.

Exemplos

Observação

Os exemplos a seguir são divididos em várias linhas para facilitar a leitura. Para copiá-los, colá-los e executá-los na linha de comando, primeiro copie e cole no Bloco de Notas ou em outra ferramenta. Em seguida, edite-os para que os comandos fiquem em uma única linha.

Ver permissões no nível de coleção

O exemplo seguinte lista as permissões para a coleção fabrikam-fiber.

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

Ver permissões no nível do projeto

O exemplo a seguir lista as permissões no nível do projeto FabrikamFiber, que está na coleção fabrikam-fiber.

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

Ver permissões no nível do repositório

O exemplo a seguir lista as permissões no nível do projeto para o repositório FabrikamFiber, que está no projeto FabrikamFiber.

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

Exigir comandos de pastas de branch

Os exemplos a seguir mostram como criar uma política de branch que impõe as seguintes restrições:

  • main pode existir na raiz do repositório.
  • Todos os usuários terão permissão para criar branches nas pastas features/ e users/.
  • Administradores terão permissão para criar branches na pasta releases/.

Neste exemplo, você a coleção, o projeto e o repositório a seguir:

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

Primeiro, bloqueie a permissão CreateBranch na raiz do repositório para os colaboradores do projeto.

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

Em seguida, permita que os colaboradores criem branches em features e users.

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

Permita que administradores criem branches em releases.

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

Por fim, permita que administradores criem um branch chamado main, caso ele seja excluído acidentalmente.

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