Definir e implementar una estrategia de ramificación GitFlow que se adapte a nuestras necesidades de desarrollo, integración y despliegue.
Opciones a considerar
GitFlow tradicional
main: Código en producción
develop: Rama de desarrollo principal
feature/*: Ramas para nuevas características
release/*: Ramas para preparación de releases
hotfix/*: Ramas para correcciones urgentes en producción
GitHub Flow (Trunk-based development)
main: Rama principal y de producción
feature/*: Ramas cortas para características o correcciones
GitFlow simplificado
main: Código en producción
develop: Rama de desarrollo principal
feature/*: Ramas para nuevas características
Tareas
[ ] Evaluar las necesidades del proyecto (frecuencia de releases, tamaño del equipo, etc.)
[ ] Discutir y seleccionar la estrategia de GitFlow más apropiada
[ ] Documentar la estrategia seleccionada
[ ] Configurar protecciones de ramas en GitHub
[ ] Actualizar el README del proyecto con la nueva estrategia de branching
[ ] Capacitar al equipo sobre el nuevo flujo de trabajo
Consideraciones
Frecuencia de despliegues
Tamaño y distribución del equipo
Necesidades de revisión de código
Integración con CI/CD
Compatibilidad con GitHub Actions y GitHub Pages
Propuesta inicial
Dado que estamos considerando el despliegue automático a GitHub Pages, podríamos inclinarnos por una versión simplificada de GitFlow o GitHub Flow. Aquí hay una propuesta inicial:
main (producción) <--- develop <--- feature/*
^
|
hotfix/*
main: Representa el código en producción. Se despliega automáticamente a GitHub Pages.
develop: Rama de integración para nuevas características.
feature/*: Ramas de corta duración para nuevas características o correcciones.
hotfix/*: Para correcciones urgentes en producción.
Próximos pasos
Una vez que se decida la estrategia de GitFlow, actualizaremos el issue de configuración de GitHub Actions para el despliegue automático para que coincida con nuestra estrategia de ramificación.
Objetivo
Definir e implementar una estrategia de ramificación GitFlow que se adapte a nuestras necesidades de desarrollo, integración y despliegue.
Opciones a considerar
GitFlow tradicional
main
: Código en produccióndevelop
: Rama de desarrollo principalfeature/*
: Ramas para nuevas característicasrelease/*
: Ramas para preparación de releaseshotfix/*
: Ramas para correcciones urgentes en producciónGitHub Flow (Trunk-based development)
main
: Rama principal y de producciónfeature/*
: Ramas cortas para características o correccionesGitFlow simplificado
main
: Código en produccióndevelop
: Rama de desarrollo principalfeature/*
: Ramas para nuevas característicasTareas
Consideraciones
Propuesta inicial
Dado que estamos considerando el despliegue automático a GitHub Pages, podríamos inclinarnos por una versión simplificada de GitFlow o GitHub Flow. Aquí hay una propuesta inicial:
main
: Representa el código en producción. Se despliega automáticamente a GitHub Pages.develop
: Rama de integración para nuevas características.feature/*
: Ramas de corta duración para nuevas características o correcciones.hotfix/*
: Para correcciones urgentes en producción.Próximos pasos
Una vez que se decida la estrategia de GitFlow, actualizaremos el issue de configuración de GitHub Actions para el despliegue automático para que coincida con nuestra estrategia de ramificación.
Recursos