Tôi muốn git luôn thực hiện các cam kết hợp nhất (--no-ff
) khi sử dụng git merge
, nhưng giữ nguyên hành vi mặc định (--ff
) cho git pull
. Điều này có thể (với cấu hình)?Tắt tính năng hợp nhất nhanh để hợp nhất thông thường, nhưng không phải để kéo
Trả lời
Hai configs mà có thể giúp đỡ là:
merge.ff
(Từ git merge
man page): Khi thiết lập để false
, biến này cho Git để tạo ra một kết hợp thêm cam kết trong trường hợp này (tương đương với việc lựa chọn --no-ff
từ dòng lệnh).
pull.ff
(từ git config
man page)
Thiết pull.ff
để true
sẽ tiếp tục hành vi mặc định nơi Git không tạo ra một kết hợp thêm cam kết khi sáp nhập một cam kết đó là một hậu duệ của dòng cam kết.
Để được kiểm tra: không pull.ff
được ưu tiên hơn merge.ff
?
git config pull.ff only
git config merge.ff false
Như đã đề cập bởi Kelvin 's answer và xác nhận bởi git-pull.sh
,' only
'là giá trị sử dụng, không phải là' true
'.
Đây là luồng công việc dự kiến của tôi (Lưu ý rằng tùy chọn cấu hình pull.ff
chỉ hoạt động trên git 2.x.).
Sử dụng cấu hình này:
- Đặt
merge.ff
-false
. Điều này mặc định hành vimerge
đến--no-ff
. - Đặt
pull.ff
đếnonly
. Điều này mặc định hành vipull
thành--ff-only
.
Điều đó có nghĩa nếu bạn cố gắng pull
một chi nhánh nơi địa phương của bạn là cả hai đằng sau & trước điều khiển từ xa, các pull
sẽ thất bại. Trong trường hợp đó, hãy thực hiện một số rebase
để bạn không bị bỏ sót nữa.
Lưu ý:
tôi đã cố gắng thiết lập pull.ff
để true
nhưng git dường như đối xử với nó như thể lựa chọn là hoàn toàn unset. Lưu ý rằng trang người đàn ông không đề cập đến rằng true
là giá trị được công nhận.
Được phát hiện rõ. +1. Tôi đã sửa đổi câu trả lời của riêng mình cho phù hợp. – VonC
- 1. Có tính năng JPA để hợp nhất dựa trên các trường không phải là Id không?
- 2. Để hợp nhất hoặc không hợp nhất? Tài khoản Facebook và tài khoản trang web thông thường
- 3. Tôi có thể tắt tính năng hợp nhất tự động trong Subversion không?
- 4. có chức năng hợp nhất AutoMapper không?
- 5. Làm cách nào để TeamCity tự động hợp nhất chi nhánh tính năng Git với chủ và không xây dựng trong trường hợp xung đột hợp nhất?
- 6. Kết hợp các hợp nhất thành một hợp nhất
- 7. Hợp nhất hai UIImages nhanh hơn CGContextDrawImage
- 8. Làm thế nào để kiểm tra hợp nhất mà không thực sự hợp nhất đầu tiên
- 9. Git có thể được định cấu hình để tắt tính năng hợp nhất cho các loại tệp cụ thể không?
- 10. Tắt tính năng kéo làm mới
- 11. cách nhanh nhất để tạo một tập hợp duy nhất trong .net 2
- 12. Tại sao git rebase thường có ít xung đột hợp nhất hơn so với hợp nhất?
- 13. Git Hợp nhất mà không cần xóa chi nhánh khác để kéo các thay đổi
- 14. Có cách nào nhanh hơn để tích hợp chi nhánh tính năng không?
- 15. (iphone) thành phần UIImage nhanh (hợp nhất)?
- 16. Sử dụng P4Merge để hợp nhất XML
- 17. Cách tắt tính năng hợp nhất tệp kê khai trong Android Studio
- 18. Erlang vs OCaml (thích hợp nhất để phù hợp)
- 19. Tính năng hợp nhất video trong nền iOS
- 20. gcov cảnh báo: hợp nhất không khớp cho tóm tắt
- 21. Hợp nhất này nên "của" không thành công, phải không?
- 22. Team Foundation Server hợp nhất không hợp nhất
- 23. Cột JTable tự động/phù hợp nhất, nhưng kéo cột cuối cùng
- 24. Chuyển tiếp nhanh Git VS không hợp nhất nhanh về phía trước
- 25. Git nhanh chóng chuyển tiếp hợp nhất: Bất kỳ cơ hội để tìm người đổ lỗi?
- 26. chức năng hợp nhất chậm hơn nhiều
- 27. Yêu cầu git không hợp nhất các tệp nhị phân nhưng để chọn
- 28. Thực hiện trích xuất tính năng HOG nhanh nhất?
- 29. Cách nhanh nhất để tính khoảng cách giữa hai CGPoints?
- 30. git merge không hợp nhất
Cảm ơn mẹo, nhưng có vẻ như 'merge.ff' được ưu tiên. – oyvind
@oyvind đó là những gì tôi lo sợ ... – VonC
@oyvind Bạn có thể giải quyết vấn đề bằng cách sử dụng một bí danh thay vì "trần" git pull' trỏ đến 'git pull --ff'. Nhưng xin đừng gọi nó là 'git puff'. –