Chuck's Academy

Git y Github

Gestión de ramas (branching)

En este módulo, exploraremos cómo gestionar ramas (branching) en Git. Las ramas permiten desarrollar funciones, corregir errores y experimentar de manera segura, sin afectar la rama principal del proyecto. Una comprensión sólida de las ramas es fundamental para utilizar Git de manera efectiva.

¿Qué es una rama (branch)?

Una rama en Git es una línea de desarrollo independiente. La rama principal, que se crea por defecto, suele llamarse main o master. Crear nuevas ramas te permite trabajar en diferentes características o correcciones de bugs sin interferir con la rama principal.

Uso de ramas en Git

Crear una nueva rama

Para crear una nueva rama y cambiar a ella inmediatamente, usa:

bash

Esto crea una nueva rama a partir de la rama actual y te cambia a esa rama.

Ver ramas existentes

Para listar todas las ramas en tu repositorio, usa:

bash

El comando mostrará la lista de ramas actuales, con un asterisco (*) indicando la rama activa.

Cambiar de rama

Para cambiar a una rama existente, usa:

bash

Fusionar ramas

Para fusionar cambios de una rama en otra, primero cambia a la rama de destino:

bash

Luego, fusiona la rama deseada:

bash

Flujo de trabajo típico con ramas

Paso 1: Crear y cambiar a una nueva rama

bash

Paso 2: Realizar cambios y commits en la nueva rama

bash

Paso 3: Cambiar a la rama principal y fusionar los cambios

bash

Paso 4: Eliminar una rama

Si la rama ya no es necesaria, puedes eliminarla:

bash

Ramas remotas

Además de las ramas locales, también puedes trabajar con ramas remotas, que existen en tu repositorio en GitHub.

Listar ramas remotas

Para listar las ramas remotas, usa:

bash

Seguir una rama remota

Para crear una rama local que siga una rama remota:

bash

Subir una rama al repositorio remoto

Para subir una rama y convertirla en una rama remota, usa:

bash

Eliminar una rama remota

Para eliminar una rama remota, usa:

bash

Estrategias de branching

Gitflow

Gitflow es una estrategia de branching que divide el trabajo en ramas específicas para el desarrollo, lanzamiento y hotfixes. Las ramas principales en Gitflow son:

  • main: Contiene el código de producción.
  • develop: Contiene código preparado para la próxima versión.
  • Ramas de características (feature), lanzamiento (release) y hotfixes (hotfix).

Trunk-based development

Trunk-based development promueve la integración continua en una sola rama principal (main o master), con ramas de vida corta para pequeñas características o correcciones.

Ejemplos prácticos

  1. Crear una rama de características:

    bash
  2. Realizar y comitear cambios en la nueva rama:

    bash
  3. Fusionar cambios en la rama principal:

    bash
  4. Eliminar la rama de características:

    bash

Con estas técnicas y flujos de trabajo, puedes gestionar eficazmente las ramas en tus proyectos con Git. En el próximo módulo, aprenderemos cómo fusionar ramas y resolver conflictos.


Pregúntame lo que sea