Avance rápido al fusionar ramas en Git

Azhar Bashir Khan 11 diciembre 2023
Avance rápido al fusionar ramas en Git

Este tutorial presentará el avance rápido al fusionar ramas en Git.

Git, un sistema de control de versiones, se utiliza en un entorno de desarrollo colaborativo para realizar un seguimiento de los cambios realizados en los archivos.

En un repositorio de Git, creamos muchas ramas desde la rama principal para diferentes propósitos. Eventualmente podemos fusionar los cambios de estas ramas en la rama principal para proporcionar una versión de lanzamiento.

A veces, Git simplemente avanza rápidamente la rama de destino durante la fusión en lugar de hacer una fusión real.

Ahora ilustraremos esto con un ejemplo.

Fusión de avance rápido en Git

En un entorno de desarrollo colaborativo, podemos crear varias ramas desde la rama principal en el repositorio de Git. Digamos, para corregir errores, creamos una rama y decimos que podemos crear otra rama para un propósito de desarrollo de funciones.

Eventualmente, fusionamos estas ramas en la rama principal para integrar los cambios de esas ramas para proporcionar una construcción cohesiva.

A veces, creamos una rama a partir de la rama principal, trabajamos en eso y hacemos algunas commits en la nueva rama. Luego, decidimos fusionar esta rama con nuestra rama principal.

Ahora, si hay una ruta lineal desde la punta de la rama actual hasta la rama de destino, la rama de la línea principal, entonces, en lugar de un commit de combinación en la rama de destino (línea principal), se produce un avance rápido de la rama.

Supongamos que tenemos una rama llamada feature1; estamos fusionando los cambios de feature1 en main, nuestra rama principal.

Ahora, supongamos que el compromiso HEAD de la rama main es un ancestro del compromiso de la rama feature1, la que queremos fusionar.

En tales casos, en lugar de fusionar las ramas, todo lo que Git tiene que hacer para integrar las historias es mover (es decir) avanzar rápidamente desde la punta de la rama actual hasta la punta de la rama de destino.

Por lo tanto, en nuestro caso, con el avance rápido, el HEAD actual de la rama main se moverá hacia arriba hasta la punta de la rama feature1.

Vea a continuación una ilustración de la situación de las ramas, main y feature1, antes de la fusión.

              E---F---G feature1
             /
A---B---C---D main

Por lo tanto, en este caso, cuando fusionamos las dos ramas usando el comando git merge, ocurrirá un avance rápido.

Para hacer una fusión, ejecutamos el comando de la siguiente manera.

$ git merge feature1

Después de ejecutar el comando, la rama main avanzará rápidamente.

Consulte la ilustración del avance rápido a continuación.

              E---F---G feature1, main
             /
A---B---C---D

Así, ahora el HEAD actual de la rama main se adelanta rápidamente. Git no creará un commit de fusión en este caso.

Por lo tanto, hemos desarrollado el avance rápido al fusionar ramas en Git.

Para mayor información por favor visite -

  1. Combinar de Git
  2. Ramificación de Git: ramificación básica y fusión

Artículo relacionado - Git Merge