Puede git merge master
o git rebase master
, en este caso, preferiría git rebase .
Porque git rebase
hace que los cambios en la rama de características se realicen además de los cambios en la rama maestra, lo que simplifica el gráfico de la versión.
Rebase
Tomando el ejemplo del manual de git rebase , git rebase master
en rama feature
:
A---B---C feature A'--B'--C' feature
/ --rebase--> /
D---E---F---G master D---E---F---G master
Sin embargo, git rebase
solo es adecuado cuando la rama no se ha distribuido, o habrá confusión y trabajo adicional en sentido descendente, porque los viejos compromisos A, B, C ahora se reemplazan por nuevos compromisos A ', B', C ', más F y G que no estaban allí antes.
El resultado real después git rebase master
en la rama feature
es este:
( A---B---C )
/
/ A'--B'--C' feature
/ /
D---E---F---G master
Los commits A, B, C cuelgan después del rebase, pero se puede acceder a ellos git reflog feature
.
Unir
Si alguien ha tirado de su rama, o la ha empujado a alguna parte, debe fusionarse con ella para evitar confusiones y trabajo adicional en el otro extremo. Consulte Recuperación de rebase ascendente .
Este es el resultado de git merge master
en rama feature
:
A---B---C feature A---B---C---M feature
/ --merge--> / ,---’
D---E---F---G master D---E---F---G master
Alternativamente, si está git merge feature
en la rama master
, se vería así:
A---B---C feature A---B---C feature
/ --merge--> / \
D---E---F---G master D---E---F---G---M master