Comando de permiso Git

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

Visual Studio 2019 | Visual Studio 2022

El comando tf git permission modifica la lista de control de acceso de usuario (ACL) y muestra la configuración de autorización de un repositorio o rama de Git dentro de un repositorio de Git.

Requisitos previos

  • A fin de ver los permisos, debe poder ver el artefacto para el tipo de información que solicita: Ver información de nivel de colección para colecciones de proyectos, Ver información de nivel de proyecto para proyectos y Leer para repositorio y rama si está viendo permisos de rama.

  • A fin de administrar los permisos, debe tener los permisos Administrar para el artefacto deseado.

Para obtener más información, vea Permisos predeterminados de Git.

Sintaxis

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 Description
/allow:(* |<perm1>[,<perm2>,...]) Permisos que se van a permitir.
/deny:(* |<perm1>[,<perm2>,...]) Permisos que se van a denegar.
/remove:(* |<perm1>[,<perm2>,...]) Permisos que se van a quitar; a veces, se conocen como no establecidos. Puede usar los tres: /allow, /deny y /remove en la misma invocación. Para obtener más información sobre cómo interactúa la configuración de las opciones permitir, denegar y quitar, vea Configuración de permisos.
/user:<username1>[,<username2>,...] Usuario o usuarios para los que se van a permitir, denegar o quitar permisos. Debe especificar al menos un usuario o grupo.
/group:<groupname1>[,<groupname2>,...] Grupos para los que se van a permitir, denegar o quitar permisos. Debe especificar al menos un usuario o grupo. Los grupos y personas se pueden usar de forma conjunta.
/collection:<TeamProjectCollectionUrl> Especifica la dirección URL de la colección de proyectos que contiene los permisos que se van a ver o modificar. Por ejemplo: http://myserver:8080/tfs/DefaultCollection o https://fabrikam-fiber.visualstudio.com. Este parámetro es obligatorio.
/teamproject:<TeamProjectIdentifier> Especifica el nombre del proyecto que contiene los permisos que se van a ver o modificar.
/repository:<RepositoryIdentifier> Especifica el nombre del repositorio que contiene los permisos que se van a ver o modificar.
/branch:<BranchName> Especifica el nombre de la rama que contiene los permisos que se van a ver o modificar. Si especifica /branch, también debe especificar /repository.
/login:<username>[,<password>] Especifica la cuenta de usuario que ejecuta el comando. Vea Uso de comandos del control de versiones de Team Foundation.

Vea Espacios de nombres de permisos del repositorio de Git para obtener una lista de los permisos que el comando tf git permission puede administrar.

Ejemplos

Nota:

Los ejemplos siguientes se dividen en varias líneas para una mejor legibilidad. Para copiarlos y pegarlos en la línea de comandos y ejecutarlos, cópielos primero y péguelos en el Bloc de notas u otra herramienta, y edítelos a fin de que los comandos se muestren en una sola línea.

Visualización de permisos de nivel de colección

En el siguiente ejemplo se muestran los permisos de la colección fabrikam-fiber.

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

Visualización de permisos de nivel de proyecto

En el ejemplo siguiente se muestran los permisos de nivel de proyecto para el proyecto FabrikamFiber, que está en la colección fabrikam-fiber.

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

Visualización de permisos de nivel de repositorio

En el ejemplo siguiente se muestran los permisos de nivel de proyecto para el repositorio FabrikamFiber, que está en el proyecto FabrikamFiber.

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

Requerimiento de comandos de carpetas de rama

En los ejemplos siguientes se muestra cómo crear una directiva de rama que aplique las restricciones siguientes:

  • En la raíz del repositorio solo puede existir main.
  • Todos los usuarios podrán crear ramas en las carpetas features/ y users/.
  • Los administradores podrán crear ramas en la carpeta releases/.

En este ejemplo se usa la siguiente colección, proyecto y repositorio:

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

En primer lugar, bloquee el permiso CreateBranch en la raíz del repositorio para los colaboradores del proyecto.

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

Después, permita a los colaboradores crear ramas en features y 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 a los administradores crear ramas en releases.

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

Por último, permita a los administradores crear una rama denominada main, en caso de que alguna vez se elimine accidentalmente.

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