Exploración de los tipos de flujo de trabajo de rama
¿Qué es un flujo de trabajo de rama de Git correcto?
Al evaluar un flujo de trabajo para el equipo, debe tener en cuenta la cultura del equipo. Quiere que el flujo de trabajo mejore su eficacia y no sea una carga que limite su productividad. Estos son algunos aspectos que se deben tener en cuenta al evaluar un flujo de trabajo de Git:
- ¿Escala el flujo de trabajo con el tamaño del equipo?
- ¿Es fácil deshacer errores con este flujo de trabajo?
- ¿Impone el flujo de trabajo una nueva sobrecarga cognitiva innecesaria en el equipo?
Flujos de trabajo de rama comunes
Los flujos de trabajo de Git más populares tendrán algún tipo de repositorio centralizado en el que cada desarrollador realizará las inserciones y las extracciones.
A continuación se muestra una lista de algunos flujos de trabajo de Git populares que se detallarán en la sección siguiente.
Estos flujos de trabajo completos ofrecen patrones más especializados sobre la administración de ramas para el desarrollo de características, las revisiones y el lanzamiento final.
Desarrollo troncal
El desarrollo troncal es una extensión lógica del flujo de trabajo centralizado.
La idea central del flujo de trabajo de desarrollo basado en troncales es que todo el trabajo de desarrollo tiene lugar directamente en la rama principal (a menudo denominada "tronco" o "maestro"). Este enfoque hace hincapié en la integración continua, y los desarrolladores envían con frecuencia pequeños cambios incrementales a la rama principal. La integración continua y las pruebas automatizadas desempeñan un papel crucial en el mantenimiento de la calidad y la estabilidad del código.
Flujo de trabajo de la rama de características
El flujo de trabajo de la rama de características hace hincapié en encapsular cada nueva característica o cambio en su rama dedicada separada de la rama principal. Los desarrolladores crean una nueva rama para cada función o problema en el que trabajan, desarrollan y prueban los cambios de forma aislada y, una vez completados y probados, fusionan la rama de la función con la rama principal. Este enfoque permite el desarrollo paralelo de múltiples funciones, facilita la revisión del código y garantiza que la rama principal se mantenga estable.
Flujo de trabajo de la rama de versión
En el flujo de trabajo Rama de versión, se crea una rama dedicada a partir de la rama principal cuando se prepara una versión. Esta rama se utiliza para estabilizar el código, solucionar errores o problemas de última hora y realizar las pruebas finales antes de pasar la versión a producción. Una vez que se considera que la versión está lista, se fusiona de nuevo con la rama principal y, potencialmente, con otras ramas de larga duración, como las ramas de desarrollo o de características. Esta estrategia permite un proceso de publicación controlado y organizado, al tiempo que mantiene estable la rama principal para el trabajo de desarrollo en curso.
Flujo de trabajo de bifurcación
El flujo de trabajo de bifurcación es fundamentalmente diferente de los otros flujos de trabajo tratados en este tutorial. En lugar de usar un único repositorio del lado servidor para que actúe como código base "central", proporciona a cada desarrollador un repositorio del lado servidor. Esto significa que cada colaborador tiene dos repositorios Git: uno local privado y otro público en el servidor. Este enfoque promueve un alto grado de desarrollo paralelo y de colaboración entre los colaboradores, al tiempo que mantiene una base de código limpia y organizada.