Acerca de las ramas y las directivas de rama

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

Las directivas de rama son una parte importante del flujo de trabajo de Git y le permiten:

  • Aislar el trabajo en curso del trabajo completado en la rama principal
  • Garantizar que los cambios se compilan antes de llegar a la rama principal
  • Limitar quién puede contribuir en determinadas ramas
  • Imponer quién puede crear ramas y las directrices de nomenclatura de las ramas
  • Incluir automáticamente los revisores adecuados para cada cambio de código
  • Imponer procedimientos recomendados con los revisores de código obligatorios

En la siguiente tabla se resumen las directivas que se pueden definir para personalizar una rama. Para obtener información general sobre todas las directivas y configuraciones de repositorio y rama, vea Configuración y directivas de repositorio Git.

Directiva

Valor predeterminado

Descripción


Desactivado

Sirve para requerir la aprobación de un número especificado de revisores en las solicitudes de incorporación de cambios.

Desactivado

Fomenta la rastreabilidad mediante la comprobación de los elementos de trabajo vinculados en las PR.

Desactivado

Sirve para comprobar si todos los comentarios de las solicitudes de incorporación de cambios se han resuelto.

Desactivado

Sirve para limitar los tipos de fusión mediante combinación disponibles al completarse las solicitudes de incorporación de cambios para controlar el historial de ramas.

Desactivado

Sirve para agregar una o varias directivas para validar el código mediante la fusión mediante combinación previa y la creación de cambios en la solicitud de incorporación de cambios. También se puede usar para habilitar o deshabilitar directivas.

Desactivado

Sirve para agregar una o varias directivas para requerir que otros servicios publiquen un estado correcto para completar solicitudes de incorporación de cambios. También se puede usar para habilitar o deshabilitar directivas.

Desactivado

Sirve para agregar una o varias directivas para designar a los revisores de código que se incluirán automáticamente cuando las solicitudes de incorporación de cambios cambien determinadas áreas del código. También puede habilitar o deshabilitar directivas.

Adopción de una estrategia de bifurcación de Git

Hay algunas ramas críticas en el repositorio en las que el equipo confía que siempre estén en buen estado, como la rama main.

Requiera solicitudes de incorporación de cambios para realizar cambios en estas ramas. Los desarrolladores que inserten cambios directamente en las ramas protegidas verán rechazados sus envíos.

Simplifique la estrategia de la rama mediante la creación de una estrategia a partir de estos tres conceptos:

  1. Use ramas de características para todas las características nuevas y las correcciones de errores.
  2. Combine ramas de características en la rama principal mediante PR.
  3. Mantenga una rama principal actualizada y de calidad alta.

Una estrategia que extienda estos conceptos y evite las contradicciones da lugar a un flujo de trabajo de control de versiones para su equipo que sea coherente y fácil de seguir.

Creación del trabajo en ramas

Las ramas de Git no son mucho más que una pequeña referencia que mantiene un historial exacto de confirmaciones, por lo que son baratas de crear.

Confirmar cambios en una rama no afectará a otras ramas. Puede compartir ramas con otros usuarios sin tener que combinar los cambios en el proyecto principal.

Puede crear nuevas ramas para aislar los cambios de una característica o una corrección de errores de la rama principal y del trabajo restante.

Dado que las ramas son ligeras, alternar entre ramas es rápido y fácil. Git no crea varias copias del origen cuando se trabaja con ramas, sino que usa la información de historial almacenada en las confirmaciones para volver a crear los archivos en una rama al empezar a trabajar en ella.

El flujo de trabajo de Git debe crear y usar ramas para administrar características y correcciones de errores.

El resto del flujo de trabajo de Git, como compartir código y revisar el código con solicitudes de incorporación de cambios, todo funciona mediante ramas.

El aislamiento del trabajo en ramas facilita cambiar en lo que está trabajando cambiando la rama actual.

¿Cómo se crean las ramas de Git?

Las ramas se crean mediante el comando branch. Branch crea una referencia en Git para la nueva rama y un puntero a la confirmación primaria para que Git pueda mantener un historial de cambios a medida que agrega confirmaciones a la rama.

Cuando se trabaja con una rama que otra persona ha compartido, Git mantiene una relación de seguimiento ascendente. La relación asocia la rama en el repositorio local con la rama correspondiente en el repositorio remoto.

El seguimiento ascendente facilita la sincronización de cambios con otros usuarios mediante el envío de cambios y la incorporación de cambios.

Representación visual de una rama creada a partir de una rama principal en Git

En esta captura de pantalla, puede ver una nueva rama que se creó a partir de la rama principal. El trabajo continúa en ambas ramas y las confirmaciones se agregan a ambas ramas.

Git siempre agrega nuevas confirmaciones a la rama local actual. Compruebe en qué rama está trabajando antes de confirmar para no confirmar los cambios en la rama incorrecta.

Alterne entre ramas locales mediante el comando checkout. Git cambiará los archivos del equipo para que coincidan con la confirmación más reciente en la rama que se ha extraído del repositorio.

Cuando el trabajo en la rama esté listo para compartirse con el resto del equipo, inserte los cambios para actualizar la rama remota.

Un error común es realizar algunos cambios, hacer commit, darse cuenta de que se encuentra en una rama incorrecta y, luego, checkout en la rama correcta.

Los cambios más recientes ya no estarán en el sistema de archivos, ya que cada rama tiene su propia versión de código.

Git devuelve el estado de los archivos a la última confirmación de la rama a la que ha cambiado, no a la rama anterior en la que realizó los cambios.

Deberá realizar una selección exclusiva de las confirmaciones de la rama o combinar los cambios en la rama correcta.

Uso de ramas para administrar el desarrollo

Git realiza un seguimiento de la rama en la que está trabajando y se asegura de que cuando hace checkout en una rama, los archivos coincidan con la confirmación más reciente en la rama.

Las ramas permiten trabajar con varias versiones del código fuente en el mismo repositorio de Git local al mismo tiempo.

Indique a Git en qué rama quiere trabajar con checkout y Git se encarga de establecer las versiones de archivo adecuadas para esa rama.

No necesita más de un repositorio en el sistema cuando use ramas para aislar el trabajo.

Configure el entorno de desarrollo una vez después de clonar. A continuación, use las ramas de Git para alternar entre el trabajo de características y la corrección de errores.

Ramificación de guías de procedimientos

Obtenga información sobre cómo completar tareas comunes al trabajar con ramas.