Flujo de Trabajo Diario

Este es el flujo completo que sigue un desarrollador desde que toma un workitem hasta que el código llega a producción.

Paso 1 — Crear la rama desde main actualizado

# Actualizar main primero
git checkout main
git pull origin main

# Crear la rama con el número del workitem de GitLab
git checkout -b feat/456-login-con-google
Nota: La rama se crea siempre desde main, no desde testing.

Paso 2 — Trabajar y hacer commits

git add .
git commit -m "feat: agrega pantalla de login con Google" \
           -m "Refs #456"

git push origin feat/456-login-con-google

Paso 3 — Abrir MR hacia main

El MR se abre hacia main desde el primer momento (puede abrirse como Draft). Se debe:

📌El MR se dirige hacia main, nunca directamente a testing. Puede abrirse como Draft desde el primer push.
El pipeline de CI debe estar en verde antes de solicitar revisión.
🔍Solicitar revisión al Team Leader.

Paso 4 — Integrar a testing para validación QA

Una vez que el MR está en revisión o aprobado, integrar los cambios a testing para que QA pueda validar:

git checkout testing
git pull origin testing
git merge feat/456-login-con-google
git push origin testing
Nota: Esto es un merge directo, sin Merge Request. La información de cómo probar la funcionalidad y la checklist de validación de QA van en el workitem, no en el MR.

Paso 5 — QA valida en testing

QA ejecuta las pruebas definidas en el workitem. Si encuentra errores:

🔧El dev corrige en la feature branch.
📤Hace commit y push a la feature branch.
🔄Vuelve a integrar a testing (repite Paso 4). El MR hacia main se actualiza automáticamente.

Paso 6 — Merge a main

Una vez que:

El Team Leader aprobó el code review.
🧪QA validó la funcionalidad en testing.
🔵El pipeline de CI está en verde.

Se procede a hacer merge del MR a main con squash commit.

Paso 7 — Limpieza

Eliminar la feature branch después del merge para mantener el repositorio limpio. GitLab puede configurarse para hacerlo automáticamente.

Mantener la rama actualizada

Para mantener la feature branch sincronizada con los cambios que otros devs han integrado a main:

git checkout feat/456-login-con-google
git fetch origin main
git merge origin/main
# Resolver conflictos si existen
git push origin feat/456-login-con-google
Buena práctica: Hacer esto periódicamente — al menos al comenzar cada día de trabajo — para minimizar conflictos al momento del MR.
Git guia · v4.0

Anexo: Diagrama del Flujo Completo

Visión general de los 7 pasos: desde la creación de la rama hasta el merge a producción.

main feat/456 testing MR Draft QA valida en testing si hay errores: corregir + repetir squash merge ✓ ⑦ rama eliminada merge origin/main (periódico) ① crear rama ② commits ③ abrir MR ④ merge directo (sin MR formal) ⑤ validar ⑥ merge squash Rama permanente Feature branch