Możesz albo git merge master
albo git rebase master
, w tym przypadku wolałbym git rebase .
Ponieważ git rebase
sprawia, ż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 master
w 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 rebase
odpowiedni 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 master
oddziale feature
jest 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 master
w 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 feature
w 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