Chuck's Academy

Git y Github

Fusionado de ramas (merging)

En este módulo, exploraremos el proceso de fusionado de ramas (merging) en Git. La fusión es una acción crítica para combinar el trabajo de diferentes ramas en una única rama, manteniendo un historial claro y coherente del proyecto.

¿Qué es el fusionado de ramas (merging)?

El fusionado de ramas es el proceso de tomar los cambios de una rama y combinarlos en otra rama. Esto es esencial cuando diferentes desarrolladores trabajan en varias características o correcciones de errores simultáneamente y es necesario consolidar todos los cambios en la rama principal del proyecto.

Tipos de fusión

Fusión de avance rápido (Fast-forward merge)

Ocurre cuando la rama de destino no tiene commits adicionales desde que se ha generado la rama fuente. En este caso, la rama objetivo simplemente avanza al último commit de la rama fuente.

bash

Fusión sin avance rápido (Non-fast-forward merge)

Se crea un nuevo commit de fusión que une las dos historias de commits cuando la rama de destino tiene commits adicionales después de la creación de la rama fuente.

bash

Ejemplo práctico de fusión

Crear y fusionar una rama

  1. Crear una nueva rama:

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

    bash
  3. Cambiar a la rama principal:

    bash
  4. Fusionar la rama de características en la rama principal:

    bash

    Si se trata de una fusión sin avance rápido:

    bash
  5. Eliminar la rama fusionada si no es necesaria:

    bash

Resolución de conflictos

A veces, los cambios en las diferentes ramas pueden entrar en conflicto. Git intentará fusionar los cambios automáticamente, pero si no puede, te pedirá resolver los conflictos manualmente.

Cómo ver conflictos

Si hay conflictos, Git te lo indicará y modificará los archivos conflictivos para incluir marcadores que señalen las diferencias.

bash

Pregúntame lo que sea