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 de trabajo básico de fusión

Primero, revisemos los dos últimos commits. Recuerde que actualmente estamos en la rama feature/new-feature.

Como puede ver, nuestra rama master está un commit atrás, sin embargo, antes de fusionar los cambios, debemos cambiar a la rama donde queremos incorporar los cambios. Cambiemos a la rama master y mostremos los dos últimos commits en esta rama:

La rama master está efectivamente un commit detrás de la rama feature, así que vamos a fusionarlas. Para iniciar el proceso de fusión, se debe utilizar el comando git merge y especificar la rama que se desea fusionar en la rama actual. Por ejemplo, para fusionar una rama de características llamada feature/new-feature en la rama master, se debe ejecutar el siguiente comando:

Note
Nota

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

Se discutirán los dos tipos de fusiones más adelante en este capítulo; sin embargo, antes de eso, revisemos los dos commits más recientes:

Seguimos en la rama master, sin embargo, esta rama ahora está actualizada con nuestra rama feature, con ambas ramas apuntando al mismo commit.

Note
Nota

El HEAD sigue apuntando a la rama master ya que estábamos en esta rama al realizar la fusión.

Tipos de fusión

De hecho, 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 que hemos realizado es un ejemplo de fusión fast-forward como se menciona en el mensaje. Este tipo de fusión se realiza si todos los commits de la rama en la que estamos actualmente (rama seleccionada) también forman parte de la rama que se va a fusionar, lo que significa que el historial de commits de estas ramas no diverge. Veamos la siguiente ilustración para aclararlo:

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 se ha divergido, es decir, después de un commit común se han realizado 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.

A continuación, se muestra una 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, se producirá un conflicto de fusión.
question mark

Selecciona todos los tipos de merge.

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 de trabajo básico de fusión

Primero, revisemos los dos últimos commits. Recuerde que actualmente estamos en la rama feature/new-feature.

Como puede ver, nuestra rama master está un commit atrás, sin embargo, antes de fusionar los cambios, debemos cambiar a la rama donde queremos incorporar los cambios. Cambiemos a la rama master y mostremos los dos últimos commits en esta rama:

La rama master está efectivamente un commit detrás de la rama feature, así que vamos a fusionarlas. Para iniciar el proceso de fusión, se debe utilizar el comando git merge y especificar la rama que se desea fusionar en la rama actual. Por ejemplo, para fusionar una rama de características llamada feature/new-feature en la rama master, se debe ejecutar el siguiente comando:

Note
Nota

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

Se discutirán los dos tipos de fusiones más adelante en este capítulo; sin embargo, antes de eso, revisemos los dos commits más recientes:

Seguimos en la rama master, sin embargo, esta rama ahora está actualizada con nuestra rama feature, con ambas ramas apuntando al mismo commit.

Note
Nota

El HEAD sigue apuntando a la rama master ya que estábamos en esta rama al realizar la fusión.

Tipos de fusión

De hecho, 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 que hemos realizado es un ejemplo de fusión fast-forward como se menciona en el mensaje. Este tipo de fusión se realiza si todos los commits de la rama en la que estamos actualmente (rama seleccionada) también forman parte de la rama que se va a fusionar, lo que significa que el historial de commits de estas ramas no diverge. Veamos la siguiente ilustración para aclararlo:

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 se ha divergido, es decir, después de un commit común se han realizado 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.

A continuación, se muestra una 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, se producirá un conflicto de fusión.
question mark

Selecciona todos los tipos de merge.

Select the correct answer

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

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