fbpx
Qué es GitFlow

¿Qué es GitFlow y para qué sirve?

Si eres programador o te estás adentrando en este mundo, hay una herramienta que no puedes ignorar: Git. Dentro de Git tampoco podemos obviar al sistema GitFlow, que puede serte de lo más útil a la hora de administrar el flujo de trabajo de tus proyectos. En este artículo te vamos a enseñar qué es GitFlow, para qué lo puedes utilizar y veremos algunos ejemplos reales de la herramienta en un proyecto.

¿Qué es GitFlow y para qué se usa?

Git Flow es una metodología de ramificación y flujo de trabajo para el control de versiones con Git (del que te ofrecemos un curso de introducción para que te familiarices con él) diseñada para facilitar la colaboración en equipos y la administración de características, lanzamientos y correcciones de errores de manera estructurada. Aunque no es parte oficial de Git, es una convención popular y existe un conjunto de herramientas que ayudan a implementar esta metodología.

Por lo tanto, GitFlow se usa para mejorar la colaboración en equipos, facilitar la gestión de versiones y proporcionar una estructura robusta para el desarrollo de software. 

Tipos de ramas en GitFlow

El flujo de trabajo Git Flow se basa en dos ramas principales y varias ramas auxiliares para administrar las distintas etapas de desarrollo. Estas ramas son: 

  • Master: representa la rama principal del proyecto y contiene el código estable que ha sido probado y listo para ser desplegado en producción.
  • Develop: es la rama de desarrollo donde se combinan las características completas y se preparan para futuros lanzamientos. Es una rama más dinámica que la master.

Además de estas ramas principales, en GitFlow encontramos otras ramas auxiliares para organizar nuestros proyectos. Las más comunes son la Hotfix, Feature y Release

Rama Hotfix

La rama Hotfix sirve para manejar problemas y errores críticos en producción sin que esto afecte al trabajo desarrollado en la rama Develop. Si se descubre un error crítico, se crea una rama de corrección urgente a partir de la Master, se soluciona el problema y luego se fusiona nuevamente en la Master y la Develop.

Rama Feature

La rama Feature se utiliza para añadir nuevas funcionalidades a un proyecto, desarrollándolas por separado antes de unirlas a la rama principal. Cuando se quiere añadir una nueva característica al proyecto, se crea una rama Feature. En ella, el desarrollador incluye la nueva funcionalidad, incluyendo el código correspondiente, las pruebas a realizar o cualquier otra tarea relacionada. Una vez que esta nueva funcionalidad ha sido desarrollada y probada, la rama Feature se fusiona con la rama Develop, eliminando así la Feature del proyecto. 

Rama Release

Si la rama Develop se considera lo suficientemente estable, se puede lanzar como una nueva versión del software a través de una rama Release. Aquí se realizan pruebas finales, corrección de errores y ajustes menores. Cuando ya tenemos lista la versión, la rama Release se fusiona con la Master, luego con la Develop y, finalmente, puede eliminarse. De esta manera, se tendrá un control organizado de las distintas versiones del software

Ejemplos de uso de GitFlow

Ahora que sabes qué es git flow y para qué se utilizan las distintas ramas que lo componen, llega la hora de conocer varios ejemplos de cómo se verían en un proyecto real. 

Ejemplo de rama Feature

Estás trabajando en un proyecto y quieres añadir una nueva función de registro a la rama Develop. Para ello, crear una rama Feature usando el siguiente código: 

crear una rama Feature en GitFlow

En esta nueva rama, añades las características de esa función de registro. Una vez que la tengas, fusionas esa rama con la Develop de esta manera: 

Fusión de la rama Feature en GitFlow

Ejemplo de rama Hotfix

Si en tu proyecto, de repente, surge un error crítico que debes arreglar de manera urgente, tendrás que crear una rama Hotfix. Para ello, inserta este código: 

Crear una rama Hotfix en GitFlow

Cuando hagas el arreglo y compruebes que es correcto, fusiona la Hotfix con las ramas Master y Develop: 

Fusionar una rama Hotfix en GitFlow

Ejemplo de rama Release

La rama Develop está lista para ser lanzada como una nueva versión del software, por lo que es el momento de crear una rama Release. Para ello, inserta el siguiente código: 

Crear una rama Release en GitFlow

Realiza las comprobaciones finales y corrige los posibles errores dentro de la rama Release. Cuando ya la tengas, fusiónala en Master y en Develop: 

Fusionar una rama Release en GitFlow

GitFlow vs Trunk: ¿en qué se diferencian?

Además de GitFlow, en Git también se puede encontrar otro enfoque para la gestión de ramas: Trunk-based development, más conocido simplemente como Trunk. A continuación, te explicamos las principales diferencias entre ambos: 

  • Estructura: Trunk se basa en una metodología de tronco único, donde el desarrollo se realiza en el tronco o rama principal, sin necesidad de abrir varias ramas para nuevas funcionalidades. Esto hace que su gestión sea más sencilla, pero también menos organizada en comparación con el método de git flow. 
  • Desarrollo: como hemos dicho, en Trunk el desarrollo de nuevas funcionalidades se realiza dentro del tronco principal. Esto ayuda a la Integración Continua y Despliegue Continuo (CI/CD). En el caso de GitFlow, las nuevas funcionalidades se desarrollan en ramas específicas antes de implementarlas en la principal. 
  • Tamaño del equipo: Trunk suele ser más usado por equipos DevOps y proyectos en los que prima la velocidad y sencillez. Por su parte, al ser más complejo, GitFlow se suele utilizar en proyectos más grandes y que requieren de una organización más exhaustiva. 

Conclusión: por qué usar GitFlow

El sistema de GitFlow es fundamental para organizar el trabajo en equipo, donde los proyectos deben contar con una estructura concreta para que cada desarrollador sepa cómo va avanzando. Además, su organización en distintas ramas es perfecta para que el proyecto avance de forma fluida y correcta, evitando lanzar versiones con errores graves. 

Averigua cómo usar GitFlow gracias a Rural Hack

Si quieres aprender los secretos de Git y GitFlow, el Bootcamp Online de Programación y APIs de Rural Hack te ayudará a conocer sus principales aspectos. ¡Reserva tu plaza y empieza tu carrera en el mundo de la programación!

¿Quieres convertirte en desarrollador web?

Inscríbete en nuestro bootcamp de programación

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *


El periodo de verificación de reCAPTCHA ha caducado. Por favor, recarga la página.

Carrito de compra