🛠️ Alpura - Estrategia de branching
A continuación se explica ¿que es git flow? y cual sería la estrategia de branching-name, a la hora de crear una rama de trabajo.
🧠 ¿Qué es Git Flow?
Git Flow es una estrategia de branching que estandariza el ciclo de vida de desarrollo y despliegue en proyectos con versiones periódicas.
Se basa en cinco tipos de ramas principales:
main(omaster): siempre refleja el código en producción, y cada release se etiqueta aquí.development: rama de integración donde confluyen todas las funcionalidades antes de preparar un release.feature/*: ramas creadas desdemainodevelopmenty son ramas de trabajo para nuevas funcionalidades.release/*: ramas creadas desdedevelopmentpara pruebas finales, ajustes de versionado y documentación.hotfix/*: ramas creadas desdemainodevelopmentpara correcciones urgentes en producción.
⚙️ Sintaxis de nombres de ramas
<prefijo>/<ID-tarea>-<descripción-breve>
<prefijo>: tipo de rama (feature,bugfix,hotfix, etc.)<ID-tarea>: opcional, el identificador de la tarea o ticket en tu gestor (JIRA, Trello…)<descripción-breve>: una frase corta en minúsculas y sin espacios, usando guiones para separar palabras (add-users,integrate-api-user,dynamic-dashboard, etc.)
🚀 Prefijos recomendados
- feature/
Ramas para implementar nuevas funcionalidades o historias de usuario.
Cuando usar: cada vez que empieces a desarrollar un workflow completo o un módulo nuevo.
- bugfix/ (o fix/)
Para corregir errores que no son críticos en producción.
Cuando usar: cuando encuentras un fallo en develop o en una rama de release.
- hotfix/
Para arreglos urgentes directamente sobre main en producción.
Cuando usar: para corregir errores críticos que están afectando a usuarios en vivo.
- release/
Para preparar un nuevo lanzamiento: ajustes menores, versionado y documentación.
Cuando usar: cuando develop está listo para generar un paquete de release.
- chore/
Tareas de mantenimiento que no afectan la funcionalidad de usuario (actualizar dependencias, limpieza de código, configuraciones).
Cuando usar: cambios internos, configuración de CI/CD, actualizaciones de librerías.
- docs/
Para actualizaciones de documentación (README, CHANGELOG, wikis).
Cuando usar: cuando agregas o corriges guías, tutoriales o comentarios de documentación.
- test/
Para añadir o ajustar pruebas unitarias, de integración o end-to-end.
Cuando usar: al escribir nuevos casos de test o refactorizar suites de testing.
- refactor/
Cambios de estructura o limpieza de código sin añadir funcionalidades ni arreglar bugs.
Cuando usar: reorganizar módulos, renombrar componentes o mejorar la legibilidad.
✨ Ejemplos:
feature/api-implementation-charts
feature/PROY-123-login-form
bugfix/456-nullpointer-exception
release/1.2.0
hotfix/1.2.1
chore/update-dependencies
Toda la estructrura del branching-name debera estar en ingles.
En caso contrario no sera aceptado por la área de arquitectura y no podra ser mergeado dicha rama.