Możesz albo git merge masteralbo git rebase master, w tym przypadku wolałbym git rebase .
Ponieważ git rebasesprawia, że zmiany w gałęzi funkcji zostały wprowadzone na podstawie zmian w gałęzi głównej, co upraszcza wykres wersji.
Rebase
Biorąc przykład z instrukcji git rebase , git rebase masterw gałęzi feature:
A---B---C feature A'--B'--C' feature
/ --rebase--> /
D---E---F---G master D---E---F---G master
Jest jednak git rebaseodpowiedni tylko wtedy, gdy gałąź nie została rozdzielona, lub będzie zamieszanie i dodatkowe prace w dół, ponieważ stare zatwierdzenia A, B, C są teraz zastępowane nowymi zatwierdzeniami A ', B', C ', plus F i G, których wcześniej nie było.
Rzeczywisty wynik po git rebase masteroddziale featurejest następujący:
( A---B---C )
/
/ A'--B'--C' feature
/ /
D---E---F---G master
Zobowiązania A, B, C zwisają po zmianie, ale są osiągalne przez git reflog feature.
Łączyć
Jeśli ktoś wyciągnął twoją gałąź lub gdzieś ją pchnąłeś, powinieneś się w nią połączyć, aby uniknąć zamieszania i dodatkowej pracy po drugiej stronie. Zobacz Odzyskiwanie z bazy danych upstream .
Jest to wynik git merge masterw gałęzi feature:
A---B---C feature A---B---C---M feature
/ --merge--> / ,---’
D---E---F---G master D---E---F---G master
Alternatywnie, jeśli jesteś git merge featurew oddziale master, wyglądałoby to tak:
A---B---C feature A---B---C feature
/ --merge--> / \
D---E---F---G master D---E---F---G---M master