Chúng tôi duy trì ứng dụng web có nhánh chính chung và nhiều nhánh song song, một nhánh cho từng cài đặt, mỗi ứng dụng có một vài thay đổi cụ thể. Mã nguồn được quản lý bằng git và nó là công cụ tuyệt vời khi chúng ta cần chuyển các tính năng và sửa lỗi từ nhánh chính thành những cái song song. Nhưng có một số tệp nhạy cảm và việc hợp nhất tự động thường cho kết quả không tốt. Vì vậy, việc hợp nhất sẽ dễ dàng hơn nhiều nếu chúng có thể được đánh dấu bằng cách nào đó và mọi hợp nhất sẽ dẫn đến xung đột yêu cầu hợp nhất thủ công.
Tôi đã tìm kiếm câu trả lời:
- Tôi đang sử dụng các tùy chọn hợp nhất --no-commit và --no-ff , nhưng nó không giống nhau.
- Ở đây và ở đây ai đó hỏi cùng một câu hỏi nhưng không có giải pháp.
- Trường hợp tương tự dường như là cách ngăn tệp được hợp nhất bằng cách sử dụng .gitattributes chứa: somefile.php merge = our . Tôi đã cố gắng tìm một số tùy chọn hợp nhất sẽ tạo ra xung đột hoặc buộc hợp nhất thủ công nhưng không tìm thấy cho đến nay.
- .gitattributes chứa: somefile.php -merge không bao giờ được hợp nhất tự động và do đó buộc phải hợp nhất thủ công. Đó là giải pháp 90%, nhưng những gì tôi tìm kiếm là thử hợp nhất tự động và đánh dấu nó là xung đột bất kể nó có thành công hay không. Nhưng điều này cho đến nay là gần nhất với giải pháp. (... cảm ơn Charles Bailey đã làm rõ ...)
- Ai đó đề nghị viết trình điều khiển hợp nhất tùy chỉnh ( 1 , 2 ), nhưng làm thế nào để làm điều đó là xa đối với tôi.
chỉnh sửa: biến thể 4. mô tả
git fetch
trước, sau đó sử dụnggit difftool <file> FETCH_HEAD
, vì vậy tôi có thể áp dụng thủ công thay đổi trong nhánh từ xa cho cục bộ.