Bạn có thể git merge masterhoặc git rebase master, trong trường hợp này tôi thích git rebase hơn .
Bởi vì git rebaselàm cho nó như thể những thay đổi trên nhánh tính năng được thực hiện trên đầu những thay đổi trên nhánh chính, điều này làm cho biểu đồ phiên bản đơn giản hơn.
Nổi loạn
Lấy ví dụ từ hướng dẫn git rebase , git rebase mastertrong nhánh feature:
A---B---C feature A'--B'--C' feature
/ --rebase--> /
D---E---F---G master D---E---F---G master
Tuy nhiên, git rebasechỉ phù hợp khi chi nhánh chưa được phân phối, hoặc sẽ có sự nhầm lẫn và công việc phụ ở hạ lưu, vì các cam kết cũ A, B, C hiện được thay thế bằng các cam kết mới A ', B', C ', cộng với F và G mà trước đó không có.
Kết quả thực tế sau khi git rebase masterở chi nhánh featurelà:
( A---B---C )
/
/ A'--B'--C' feature
/ /
D---E---F---G master
Cam kết A, B, C đang lơ lửng sau cuộc nổi loạn, nhưng có thể truy cập thông qua git reflog feature.
Hợp nhất
Nếu ai đó đã kéo chi nhánh của bạn hoặc bạn đã đẩy nó vào một nơi nào đó, bạn nên hợp nhất vào đó để tránh nhầm lẫn và làm thêm ở đầu bên kia. Xem Phục hồi từ rebase ngược dòng .
Đây là kết quả của git merge masterchi nhánh feature:
A---B---C feature A---B---C---M feature
/ --merge--> / ,---’
D---E---F---G master D---E---F---G master
Ngoài ra, nếu bạn git merge featureở chi nhánh master, nó sẽ trông như thế này:
A---B---C feature A---B---C feature
/ --merge--> / \
D---E---F---G master D---E---F---G---M master