Puede git merge mastero git rebase master, en este caso, preferiría git rebase .
Porque git rebasehace 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 masteren rama feature:
A---B---C feature A'--B'--C' feature
/ --rebase--> /
D---E---F---G master D---E---F---G master
Sin embargo, git rebasesolo 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 masteren la rama featurees 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 masteren 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 featureen 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