Requerimiento de creación de las ramas en carpetas

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

Cuando muchas personas colaboran en un repositorio, la cantidad y los nombres de las ramas pueden descontrolarse rápidamente. Las carpetas jerárquicas de rama son una manera eficaz de poner orden al caos. Azure DevOps Services, TFS y Visual Studio tratan / como un separador de carpetas y contraerán automáticamente las carpetas de forma predeterminada. De este modo, no es necesario desplazarse por cada rama para encontrar la que se está buscando. Tampoco hace falta depender de que los demás usuarios lo hagan bien. Azure Repos y TFS pueden exigir un uso correcto de las carpetas de rama.

Planificación

Decida la estructura de carpetas que quiere permitir. Por ejemplo, configuraremos el repositorio para aplicar las reglas siguientes:

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

Nota:

Para obtener más ejemplos e información sobre las estrategias de nomenclatura de ramas, consulte Adopción de una estrategia de bifurcación de Git.

Preparación

  • Necesitará el comando de Control de versiones de Team Foundation (tf.exe).
  • Necesitará la dirección URL de la cuenta o colección, el nombre del proyecto y el nombre del repositorio. Para este ejemplo, usaremos https://fabrikam-fiber.visualstudio.com, FabrikamProject y FabrikamRepo.

Nota:

El comando tf.exe se instala de forma predeterminada con Visual Studio. Puede acceder a él a través del Símbolo del sistema para desarrolladores. Para obtener opciones adicionales, descargue Team Explorer.

Aplicación de permisos

Ejecute los comandos siguientes en el Símbolo del sistema para desarrolladores, en Inicio>Visual Studio>Símbolo del sistema para desarrolladores. Cada comando está precedido de una explicación de lo que hace. Si no tiene un token de acceso personal almacenado en caché (por ejemplo, al iniciar sesión en el portal web de Azure DevOps Services), se le pedirá que inicie sesión.

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 feature y users.

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

Permita a los administradores crear ramas en release.

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

Por último, permita a los administradores crear una rama denominada main (por si en algún momento se elimina accidentalmente).

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

Nota:

Para obtener más información, consulte tf git permission. También puede acceder a la ayuda de estos comandos desde la línea de comandos mediante la ejecución de tf git /? y tf git permission /?.

Cambio del nombre de las ramas antiguas

  1. Abra el repositorio en la Web y seleccione la vista Ramas.

  2. Busque la rama existente. Si no la ve, es posible que tenga que buscar en la pestaña Todo.

  3. Seleccione el menú contextual (el botón ...) y elija Nueva rama.

    Menú para crear una rama

  4. Escriba el nuevo nombre de la rama, por ejemplo, users/frank/readme-fix. Seleccione Crear rama.

    Creación de nueva rama

  5. Elija el icono de papelera de color rojo situado junto al nombre de la rama antigua para eliminarla.

    Eliminación de una rama antigua

Nota:

No se migrarán los permisos personalizados ni las directivas de rama que haya configurado.