Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprende Fusión de Ramas | Trabajando con Ramas en Git
Conceptos Esenciales de Git

bookFusión de Ramas

Comprensión de la fusión de ramas

En Git, fusionar es el proceso de integrar cambios de una rama en otra. El caso de uso más común es fusionar ramas de funcionalidad en la rama principal (por ejemplo, main o master). Esto garantiza que las últimas funcionalidades y correcciones de errores se incorporen a la base de código principal.

Flujo básico de fusión

Primero, visualizar los dos commits más recientes. Recordar que actualmente se encuentra en la rama feature/new-feature.

Dos commits más recientes en la rama de funcionalidad

Como puedes observar, la rama master está un commit detrás. Antes de fusionar, es necesario cambiar a la rama donde se integrarán los cambios. Cambia a la rama master y muestra los dos commits más recientes en ella:

Cambiando a master y mostrando los dos commits más recientes

La rama master está efectivamente un commit detrás de la rama feature. Para fusionarlas, utiliza el comando git merge y especifica la rama que se fusionará en la rama actual. Por ejemplo, para fusionar la rama feature/new-feature en master, ejecuta:

Fusión
Note
Nota

El mensaje mostrado después de ejecutar el comando contiene lo siguiente: Fast-forward, que especifica que se realizó una fusión fast-forward.

Explorará los dos tipos de fusiones más adelante en este capítulo. Antes de eso, observe los dos commits más recientes:

Dos commits más recientes después de la fusión

Todavía estás en la rama master, pero ahora está actualizada con la rama feature, y ambas ramas apuntan al mismo commit.

Note
Nota

El HEAD todavía apunta a la rama master porque estabas en esta rama al realizar la fusión.

Tipos de fusión

Existen dos tipos de operaciones de fusión en Git:

  • Fusión fast-forward;
  • Fusión de tres vías.

Fusión fast-forward

La fusión que realizaste es una fusión fast-forward, como se indica en el mensaje. Este tipo ocurre cuando todos los commits de la rama actualmente seleccionada también están presentes en la rama que se va a fusionar, lo que significa que sus historiales de commits no divergen.

Consulta la siguiente ilustración para mayor claridad:

Con este tipo de fusión, el puntero de la rama seleccionada simplemente se actualiza al último commit.

Fusión de tres vías

Sin embargo, si el historial de las ramas ha divergido, es decir, después de un commit común se realizaron nuevos commits por separado en cada rama, entonces se realiza una fusión de tres vías.

El término "tres vías" se refiere a las tres versiones involucradas en la fusión:

  • la versión del ancestro común más reciente (commit);
  • la versión del último commit en la rama actual (HEAD);
  • la versión del último commit en la rama que se va a fusionar.

Observa la siguiente ilustración de este tipo de fusión:

Así es como funciona una fusión de tres vías:

  1. Git identifica los cambios realizados en cada una de las ramas después del ancestro común más reciente;
  2. Si cada rama tiene cambios en archivos diferentes o en partes diferentes del mismo archivo, Git fusionará automáticamente los cambios combinándolos en el commit resultante;
  3. De lo contrario, ocurrirá un conflicto de fusión.
question mark

Selecciona todos los tipos de fusión.

Select the correct answer

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 4. Capítulo 4

Pregunte a AI

expand

Pregunte a AI

ChatGPT

Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla

Awesome!

Completion rate improved to 3.57

bookFusión de Ramas

Desliza para mostrar el menú

Comprensión de la fusión de ramas

En Git, fusionar es el proceso de integrar cambios de una rama en otra. El caso de uso más común es fusionar ramas de funcionalidad en la rama principal (por ejemplo, main o master). Esto garantiza que las últimas funcionalidades y correcciones de errores se incorporen a la base de código principal.

Flujo básico de fusión

Primero, visualizar los dos commits más recientes. Recordar que actualmente se encuentra en la rama feature/new-feature.

Dos commits más recientes en la rama de funcionalidad

Como puedes observar, la rama master está un commit detrás. Antes de fusionar, es necesario cambiar a la rama donde se integrarán los cambios. Cambia a la rama master y muestra los dos commits más recientes en ella:

Cambiando a master y mostrando los dos commits más recientes

La rama master está efectivamente un commit detrás de la rama feature. Para fusionarlas, utiliza el comando git merge y especifica la rama que se fusionará en la rama actual. Por ejemplo, para fusionar la rama feature/new-feature en master, ejecuta:

Fusión
Note
Nota

El mensaje mostrado después de ejecutar el comando contiene lo siguiente: Fast-forward, que especifica que se realizó una fusión fast-forward.

Explorará los dos tipos de fusiones más adelante en este capítulo. Antes de eso, observe los dos commits más recientes:

Dos commits más recientes después de la fusión

Todavía estás en la rama master, pero ahora está actualizada con la rama feature, y ambas ramas apuntan al mismo commit.

Note
Nota

El HEAD todavía apunta a la rama master porque estabas en esta rama al realizar la fusión.

Tipos de fusión

Existen dos tipos de operaciones de fusión en Git:

  • Fusión fast-forward;
  • Fusión de tres vías.

Fusión fast-forward

La fusión que realizaste es una fusión fast-forward, como se indica en el mensaje. Este tipo ocurre cuando todos los commits de la rama actualmente seleccionada también están presentes en la rama que se va a fusionar, lo que significa que sus historiales de commits no divergen.

Consulta la siguiente ilustración para mayor claridad:

Con este tipo de fusión, el puntero de la rama seleccionada simplemente se actualiza al último commit.

Fusión de tres vías

Sin embargo, si el historial de las ramas ha divergido, es decir, después de un commit común se realizaron nuevos commits por separado en cada rama, entonces se realiza una fusión de tres vías.

El término "tres vías" se refiere a las tres versiones involucradas en la fusión:

  • la versión del ancestro común más reciente (commit);
  • la versión del último commit en la rama actual (HEAD);
  • la versión del último commit en la rama que se va a fusionar.

Observa la siguiente ilustración de este tipo de fusión:

Así es como funciona una fusión de tres vías:

  1. Git identifica los cambios realizados en cada una de las ramas después del ancestro común más reciente;
  2. Si cada rama tiene cambios en archivos diferentes o en partes diferentes del mismo archivo, Git fusionará automáticamente los cambios combinándolos en el commit resultante;
  3. De lo contrario, ocurrirá un conflicto de fusión.
question mark

Selecciona todos los tipos de fusión.

Select the correct answer

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 4. Capítulo 4
some-alt