Puoi o git merge mastero git rebase master, in questo caso, preferirei git rebase .
Perché lo git rebaserende come se le modifiche sul ramo della funzione fossero state apportate in cima alle modifiche sul ramo principale, il che rende il grafico della versione più semplice.
rebase
Prendendo l'esempio dal manuale di git rebase , git rebase masternel ramo feature:
A---B---C feature A'--B'--C' feature
/ --rebase--> /
D---E---F---G master D---E---F---G master
Tuttavia, git rebaseè adatto solo quando la filiale non è stata distribuita, o ci saranno confusione e lavoro extra a valle, perché i vecchi commit A, B, C sono ora sostituiti da nuovi commit A ', B', C ', più F e G che prima non c'erano.
Il risultato effettivo dopo git rebase masterin branch featureè questo:
( A---B---C )
/
/ A'--B'--C' feature
/ /
D---E---F---G master
I commit A, B, C sono sospesi dopo il rebase, ma sono raggiungibili attraverso git reflog feature.
Merge
Se qualcuno ha spostato il tuo ramo o l'hai spinto da qualche parte, dovresti invece fonderti in esso, per evitare confusione e lavoro extra dall'altra parte. Vedere Ripristino da rebase a monte .
Questo è il risultato di git merge masternel ramo feature:
A---B---C feature A---B---C---M feature
/ --merge--> / ,---’
D---E---F---G master D---E---F---G master
In alternativa, se sei git merge featurenel ramo master, sarebbe simile al seguente:
A---B---C feature A---B---C feature
/ --merge--> / \
D---E---F---G master D---E---F---G---M master