Gitflow - nicolasjaramillocely99/Proyecto_Ingenieria_Software_Aplicaciones_Moviles GitHub Wiki

GitFlow - Proyecto Vinilos app

Ramas


Nombre rama Propósito
main Esta rama contiene el código estable y funcional listo para producción. Solo se actualiza con releases aprobados.
release Esta rama contiene las funcionalidades completas listas para ser probadas antes del despliegue. Aquí se realizan pruebas finales, correcciones de bugs menores y preparación de documentación.
develop Rama de integración principal donde se combinan todas las features completadas. Contiene la versión más actualizada en desarrollo.
feature/[nombre] Cada rama feature contiene la implementación de una historia de usuario específica (ej: feature/gestion-proveedores, feature/crear-menu).
hotfix/[nombre] Ramas para correcciones urgentes en producción que no pueden esperar al siguiente release.

Flujo


  1. Desarrollo de Features: Las historias de usuario se desarrollan en ramas feature/[nombre] creadas desde develop
  2. Integración: Las features completadas se integran a develop mediante Pull Request
  3. Preparación de Release: Cuando se completa un sprint, se crea release/[version] desde develop
  4. Despliegue: Después de las pruebas finales, release se integra a main y develop
  5. Correcciones Urgentes: Los hotfixes se crean desde main y se integran tanto a main como a develop

Acuerdos


Acción Quién Cuándo Dónde
Crear repositorios Líder técnico del equipo Al inicio del proyecto GitHub
Crear rama feature Desarrollador asignado a la historia Al iniciar trabajo en nueva historia de usuario Repositorio local, desde develop
Realizar commits Cada desarrollador Mínimo diario o al completar subtarea Rama feature correspondiente
Hacer Pull Request de feature Desarrollador que completó la feature Al terminar implementación y pruebas de la historia Desde feature/[nombre] hacia develop
Revisar Pull Request Otro miembro del equipo (peer review) Dentro de 24 horas de creado el PR GitHub
Integrar feature a develop Reviewer o líder técnico Después de aprobación del PR Rama develop
Sincronizar develop Desarrollador que finalizo su HU de ultimas Inmediatamente después del release Integrar cambios de release a develop
Crear hotfix Desarrollador asignado Al detectar bug crítico en producción Desde main hacia hotfix/[descripcion]
Actualizar ramas locales Cada desarrollador Diariamente antes de iniciar trabajo git pull en develop y main

Convenciones de Nomenclatura


Ramas

  • feature/editar-proveedores
  • feature/crear-menu
  • feature/reporte-compras
  • reléase/v1.0.0
  • hotfix/corregir-calculo-precios

Commits

  • Usar formato: [TIPO]: Descripción breve
  • Tipos: feat, fix, docs, style, refactor, test
  • Ejemplo: feat: agregar formulario creación de proveedores

Pull Requests

  • Título: [FEATURE] Nombre de la funcionalidad
  • Incluir descripción de cambios y referencias a historias de usuario
  • Ejemplo: [FEATURE] Gestión de proveedores - HU001, HU002, HU003

Políticas de Integración


  • Nunca hacer push directo a main o develop
  • Ejecutar pruebas antes de crear Pull Request
  • Resolver conflictos antes de solicitar integración
  • Documentar cambios significativos en el PR