Lấy trường hợp sau:
Tôi có một số công việc trong một nhánh chủ đề và bây giờ tôi đã sẵn sàng để hợp nhất trở lại thành chủ:
* eb3b733 3 [master] [origin/master]
| * b62cae6 2 [topic]
|/
* 38abeae 1
Tôi thực hiện hợp nhất từ chủ, giải quyết các xung đột và bây giờ tôi có:
* 8101fe3 Merge branch 'topic' [master]
|\
| * b62cae6 2 [topic]
* | eb3b733 3 [origin/master]
|/
* 38abeae 1
Bây giờ, việc hợp nhất đã làm tôi mất một thời gian, vì vậy tôi thực hiện một lần tìm nạp khác và nhận thấy rằng nhánh chủ từ xa có những thay đổi mới:
* 8101fe3 Merge branch 'topic' [master]
|\
| * b62cae6 2 [topic]
| | * e7affba 4 [origin/master]
| |/
|/|
* | eb3b733 3
|/
* 38abeae 1
Nếu tôi thử 'git rebase origin / master' từ chủ, tôi buộc phải giải quyết lại tất cả các xung đột và tôi cũng mất cam kết hợp nhất:
* d4de423 2 [master]
* e7affba 4 [origin/master]
* eb3b733 3
| * b62cae6 2 [topic]
|/
* 38abeae 1
Có cách nào rõ ràng để từ chối cam kết hợp nhất để tôi kết thúc với một lịch sử như lịch sử tôi hiển thị bên dưới không?
* 51984c7 Merge branch 'topic' [master]
|\
| * b62cae6 2 [topic]
* | e7affba 4 [origin/master]
* | eb3b733 3
|/
* 38abeae 1
git config --global pull.rebase preserve
để luôn duy trì các cam kết hợp nhất trong một cuộc
git --rebase-merges
cuối cùng sẽ thay thế cái cũ git --preserve-merges
. Xem chính xác những gì Gạc của Gợi rebase --preserve-merges
làm (và tại sao?)
--preserve-merges
bị phản đối Sử dụnggit rebase --rebase-merges origin/master
git rebase --preserve-merges origin/master