El comando git merge permite fusionar unas ramas dentro de otras. Este comando es útil cuando realizamos modificaciones en nuestros proyectos y posteriormente necesitamos fusionar dichos cambios en otras ramas.
En esta guía se realiza paso a paso el proceso de ramificación para su posterior fusión con la rama deseada.
Trabajando en una nueva Rama
Supongamos que necesitamos realizar unos cambios en un carrito de la compra de un proyecto de comercio electrónico. Lo primero que necesitamos es crear una nueva rama, para así poder trabajar en dichos cambios.
1 |
$ git branch updateCart |
Una vez creada, nos movemos a ella y comenzamos a realizar las modificaciones que fueran necesarias.
1 2 |
$ git checkout updateCart Switched to branch 'updateCart' |
Una vez tengamos todas los cambios realizados, los testamos y comprobamos que todo funciona correctamente. Si todo es correcto incluimos los nuevos cambios realizados y comiteamos cada fichero con sus respectivos comentarios.
Merge de los cambios
Ahora tan sólo necesitamos movernos a la rama principal de nuestro proyecto. Supongamos que esta es master.
1 |
$ git checkout master |
Y lo que vamos a hacer a continuación es usar el comando git merge para así traernos todos los cambios realizados de la rama «updateCart» a la rama actual del proyecto (master).
1 2 3 4 5 |
$ git merge updateCart Updating 23157ac..50d355d Fast-forward cart/list.html | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) |
Por último ya podemos guardar los cambios en el repositorio remoto que tengamos configurado, haciendo uso de comando git push.
1 2 3 4 5 6 7 8 |
$ git push Enumerating objects: 7, done. Counting objects: 100% (7/7), done. Delta compression using up to 8 threads Compressing objects: 100% (3/3), done. Writing objects: 100% (4/4), 379 bytes | 126.00 KiB/s, done. Total 4 (delta 1), reused 0 (delta 0) remote: Resolving deltas: 100% (1/1), completed with 1 local object. |
Borrado de la Rama
Si la rama donde realizamos los cambios ya no fuera necesaria mantenerla, procedemos a borrarla.
1 2 |
$ git branch -d updateCart Deleted branch updateCarrito (was 50d355d). |