Você pode git merge master
ou git rebase master
, nesse caso, eu preferiria o git rebase .
Porque git rebase
faz com que as alterações na ramificação do recurso tenham sido feitas sobre as alterações na ramificação principal, o que simplifica o gráfico da versão.
Rebase
Tomando o exemplo do manual git rebase , git rebase master
na ramificação feature
:
A---B---C feature A'--B'--C' feature
/ --rebase--> /
D---E---F---G master D---E---F---G master
No entanto, git rebase
é adequado apenas quando a ramificação não foi distribuída ou haverá confusão e trabalho extra a jusante, porque o antigo commit A, B, C agora é substituído pelos novos commit A ', B', C 'e F e G que não estavam lá antes.
O resultado real depois git rebase master
da ramificação feature
é este:
( A---B---C )
/
/ A'--B'--C' feature
/ /
D---E---F---G master
As confirmações A, B, C estão pendentes após a rebase, mas são alcançáveis git reflog feature
.
Mesclar
Se alguém puxou seu ramo ou você o empurrou para algum lugar, você deve se fundir a ele, para evitar confusão e trabalho extra do outro lado. Consulte Recuperando de rebase upstream .
Este é o resultado de git merge master
no ramo feature
:
A---B---C feature A---B---C---M feature
/ --merge--> / ,---’
D---E---F---G master D---E---F---G master
Como alternativa, se você git merge feature
no ramo master
, ficaria assim:
A---B---C feature A---B---C feature
/ --merge--> / \
D---E---F---G master D---E---F---G---M master