Fusionar ramas
Puede integrar diferentes ramas usando el comando git merge.
Considere la siguiente situación. Hay dos ramas: una rama de bugfix
con algunos commits procedentes de la rama main
.
![Branch](/static/8e4669099d5d6f52f1615f6f782d2152/5a190/01.png)
En este caso, fusionar bugfix
de nuevo en main
no es un gran problema. Eso es porque main
no ha cambiado desde que se creó bugfix
. Git fusionará esto moviendo la posición main
a la última posición de bugfix
. Esta fusión se llama fast-forward
.
![Fast-forward merge](/static/f617076d2bf6d0504aa51e362cea9342/5a190/02.png)
En el ejemplo siguiente, sin embargo, main
se ha actualizado varias veces desde que bugfix
se ramificó. Los cambios de bugfix
y main
deben combinarse cuando se ejecuta una fusión en estas dos ramas.
![It has advanced more than when a branch is divided](/static/f014779fb05caff4401520c480230148/5a190/03.png)
Para este tipo de fusión, se crea un merge commit
, y la posición main
se actualiza al commit de fusión recién creado.
![Merge commit incorporating both changes](/static/2268f09bc1aacd72a54da33e7318b123/5a190/04.png)
![Non fast-forward merge](/static/e25c4039d74d5b2be21720dd3a01e618/5a190/05.png)
Como se muestra arriba, una fusión no rápida deja la rama bugfix
como está. Esto le da una idea más clara de la rama de características bugfix
. Puede encontrar fácilmente dónde empieza o acaba la rama de características y hacer un seguimiento de los cambios realizados en la rama de características.