Lección 6: Flujo de Trabajo con Ramas

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