Sobes.tech
Junior

¿Qué es Git Flow?

sobes.tech AI

Respuesta de la IA

Git Flow es un modelo de ramificación en Git propuesto por Vincent Driessen. Define un conjunto estricto de reglas para organizar las ramas y gestionar el ciclo de vida del proyecto.

Ramas principales:

  • master: Contiene el código listo para lanzamiento, siempre estable.
  • develop: Rama base para el desarrollo de nuevas funciones.

Ramas auxiliares:

  • feature/...: Para el desarrollo de funciones específicas. Se separan de develop y se vuelven a fusionar en develop. Son asíncronas entre sí.
  • release/...: Para preparar una nueva versión. Se separan de develop, se fusionan en develop y master. Corrigen errores relacionados con el lanzamiento.
  • hotfix/...: Para corregir rápidamente errores críticos en producción. Se separan de master y se fusionan en develop y master.

Ciclo de vida de la rama feature:

  1. git checkout develop
    
  2. git pull
    
  3. git checkout -b feature/my-new-feature
    
  4. Desarrollo y commits.
  5. git checkout develop
    
  6. git pull
    
  7. git merge feature/my-new-feature
    
  8. git branch -d feature/my-new-feature
    

Ventajas:

  • Estructura y organización claras.
  • Reducción de conflictos al fusionar.
  • Facilidad de comprensión para nuevos miembros del equipo.

Desventajas:

  • Puede ser demasiado complejo para proyectos o equipos pequeños.
  • Requiere seguir reglas estrictas.