Modelos de Flujo de Trabajo
Existen varios modelos de flujo de trabajo con ramas, como Git Flow y GitHub Flow. Estos modelos definen cómo se estructuran y gestionan las ramas en un proyecto.
Git Flow, por ejemplo, utiliza ramas dedicadas para características, desarrollo, liberación y versión. GitHub Flow se centra en integraciones frecuentes a la rama principal (por lo general, "main" o "master").
Ramas de Características, Desarrollo y Liberación
El flujo de trabajo de ramas de características implica crear ramas separadas para trabajar en nuevas funcionalidades. El flujo de trabajo de desarrollo y liberación se enfoca en estabilizar y lanzar versiones.
Ejemplo de flujo de trabajo de ramas de características:
git checkout main # Cambiar a la rama principal
git checkout -b caracteristica-nueva # Crear y cambiar a una nueva rama de características
# Trabajar en la nueva característica y realizar commits
git checkout main # Cambiar de regreso a la rama principal
git merge caracteristica-nueva # Fusionar los cambios de la característica en la rama principal
Ramas Temporales y Ramas de Soporte
Las ramas temporales se utilizan para tareas específicas y se eliminan después. Las ramas de soporte se utilizan para corregir errores en versiones anteriores y mantener la estabilidad.
Ejemplo de uso de ramas temporales:
git checkout -b arreglar-bug-123 # Crear una rama temporal para corregir un bug
# Realizar cambios y commits para solucionar el bug
git checkout main # Cambiar de regreso a la rama principal
git merge arreglar-bug-123 # Fusionar la corrección del bug en la rama principal
git branch -d arreglar-bug-123 # Eliminar la rama temporal
Ejemplo de uso de ramas de soporte:
git checkout -b rama-de-soporte-v1.0 # Crear una rama de soporte para la versión 1.0
# Corregir errores y realizar commits en la rama de soporte
git checkout main # Cambiar de regreso a la rama principal
git merge rama-de-soporte-v1.0 # Fusionar las correcciones en la rama principal