Ви можете або, git merge masterабо git rebase masterв цьому випадку я вважаю за краще git rebase .
Оскільки git rebaseце робить так, ніби зміни в гілці функцій були внесені поверх змін на головній гілці, що робить графік версії простішим.
База даних
Візьмемо приклад із посібника з git rebase , git rebase masterу галузі feature:
A---B---C feature A'--B'--C' feature
/ --rebase--> /
D---E---F---G master D---E---F---G master
Однак git rebaseвін підходить лише тоді, коли гілка не була розповсюджена, або відбудеться плутанина та додаткова робота вниз за течією, оскільки старі коміти A, B, C замінюються на нові коміти A ', B', C ', плюс F і G, яких раніше не було.
Фактичний результат після git rebase masterв галузі feature:
( A---B---C )
/
/ A'--B'--C' feature
/ /
D---E---F---G master
Команди A, B, C звисають після відновлення бази, але вони доступні через git reflog feature.
Злиття
Якщо хтось потягнув вашу гілку, або ви її кудись підштовхнули, вам слід замість неї злитися, щоб уникнути плутанини та зайвої роботи на іншому кінці. Див. Розділ Відновлення з попередньої бази даних .
Це результат git merge masterгалузі feature:
A---B---C feature A---B---C---M feature
/ --merge--> / ,---’
D---E---F---G master D---E---F---G master
Як варіант, якби ви git merge featureпрацювали у філії master, це виглядатиме так:
A---B---C feature A---B---C feature
/ --merge--> / \
D---E---F---G master D---E---F---G---M master