Estrategia de Ramas Profesional: Git Flow
Aprende el modelo de ramificación estándar en la ingeniería de software: el flujo Git Flow (main, qa, develop y ramas de características), cómo implementarlo y cómo evita caídas del sistema en producción.
¿Qué es Git Flow?
Git Flow es un modelo estandarizado de gestión de ramas publicado por Vincent Driessen que organiza el ciclo de vida del software en etapas rigurosas y predecibles. En lugar de trabajar todos sobre una sola rama desordenada, cada rama tiene un propósito y un nivel de estabilidad estrictamente definido.
La Jerarquía de Ramas en Kilopolis
| Rama | Propósito y Entorno | ¿Quién escribe aquí? | Nivel de Estabilidad |
|---|---|---|---|
| main | Producción Real (En Vivo). Es el código exacto que está corriendo en los servidores web públicos atendiendo alumnos y colegios. | Solo recibe fusiones aprobadas desde qa. Cero commits directos. |
100% Estable & Auditado |
| qa / staging | Pruebas de Calidad (Quality Assurance). Es el entorno de pre-producción donde se prueban las funcionalidades integradas antes del lanzamiento final. | Solo recibe fusiones desde develop. |
Pre-Lanzamiento |
| develop | Desarrollo Activo. La rama integradora donde conviven las características terminadas del sprint. | Recibe fusiones de ramas feature/* y fix/*. |
En Construcción |
| feature/* | Funcionalidades Nuevas. Ramas temporales creadas para programar una tarea específica (ej: feature/login-google). |
El desarrollador asignado a esa tarea. Al fusionarse se eliminan. | Experimental |
El Ciclo de Integración: develop ➔ qa ➔ main
Diagrama 5.1: Flujo de ramas paralelas en Git Flow: del desarrollo en feature a develop, validación en QA y lanzamiento final en main.
En el desarrollo de Kilopolis y en las empresas tecnológicas de primer nivel, todo cambio viaja ordenadamente hacia la derecha:
[feature/mi-tarea] ──► [develop] ──► [qa] ──► [main] (Despliegue a Producción)
Esta metodología garantiza que nunca un bug de desarrollo rompa la página pública en producción, pues cualquier fallo es detectado en develop o en qa antes de tocar a los usuarios reales.
⚡ Flujo Completo de Integración Git Flow en Terminal
Secuencia exacta de comandos para desarrollar una característica y promoverla a través de las ramas hasta producción:
# 1. Crear tu rama de funcionalidad desde develop:
git switch develop
git switch -c feature/nuevo-reporte-calificaciones
# 2. [Programar la funcionalidad y confirmar]
git add .
git commit -m "feat(lms): generar reporte descargable de calificaciones"
# 3. Integrar a develop (desarrollo):
git switch develop
git merge feature/nuevo-reporte-calificaciones
# 4. Promover a QA para pruebas integrales:
git switch qa
git merge develop -m "merge: promover cambios a qa para pruebas"
# 5. Promover a main (producción final) y desplegar al servidor:
git switch main
git merge qa -m "merge: despliegue de version a produccion"
git push origin main
git push origin develop
¿Tienes dudas con este tema?
Sócrates AI puede darte analogías y explicarte este código paso a paso.🚀 ¿Quieres dominar Manual Completo de Git & GitHub Profesional y crear proyectos reales?
Aprende arquitectura limpia, desarrollo web moderno, buenas prácticas y despliegue en producción con nuestro Bootcamp Fullstack Developer con mentorías en vivo.
🏛️ Autoría y Propiedad Intelectual: Obra educativa original de David Amador para Kilopolis Academia (Solucionáticos), estructurada sobre las especificaciones y estándares abiertos del W3C, el estándar vivo de WHATWG y la documentación oficial de código abierto. © Todos los derechos reservados.