Git merge o git rebase

git.jpg
Solucionex
26
Jun 15

En git existen dos formas que nos permiten unir ramas, git merge y git rebase. La forma mas conocida es git merge, la cual realiza una fusión a tres bandas entre las dos últimas instantáneas de cada rama y el ancestro común a ambas, creando un nuevo commit con los cambios mezclados.

Git rebase básicamente lo que hace es recopilar uno a uno los cambios confirmados en una rama, y reaplicarlos sobre otra. Utilizar rebase nos puede ayudar a evitar conflictos siempre que se aplique sobre commits que están en local y no han sido subidos a ningún repositorio remoto. Si no tienen cuidado con esto último y algún compañero utiliza cambios afectados, seguro que tendrá problemas ya que este tipo de conflictos normalmente son difíciles de reparar.

Veamos un pequeño ejemplo:

Punto de partidaPunto de partida

Ejempo de mezcla de ramas con git merge

git checkout master git merge prueba

Ejempo de mezcla de ramas con git merge

Ejempo de mezcla de ramas con git rebase

git checkout master git rebase prueba

Ejempo de mezcla de ramas con git rebase

Utilizando git rebase conseguimos un log de commit mas sencillo y como veis es muy fácil utilizarlo, pero como he comentado antes, cuidado con usarlo con commits que están en servidores remotos.

 

Espero que os sea útil :)