Vì vậy, hôm qua tôi đã đăng một số question về một số xung đột lạ khi tôi cố gắng rebase nhánh ngược dòng vào nhánh chủ đề địa phương của mình.Xung đột với `git rebase`
Cuối cùng, tôi đã sử dụng git rebase --merge upstream
và giải quyết được nhiều xung đột trong các tệp mà tôi chưa chạm từ lần xuất phát trước đó.
Sự hiểu biết của tôi về việc rebase trong trường hợp này là nó xóa bỏ các cam kết của tôi khỏi nhánh chủ đề đó, áp dụng các cam kết từ nhánh ngược dòng và sau đó áp dụng (như các bản vá). Vì vậy, nó kết thúc là một hoạt động nhanh về phía trước. Những gì tôi không hiểu là ... tại sao tôi sẽ hợp nhất những xung đột với những cam kết đến từ thượng nguồn. Là những người được áp dụng như là bản vá lỗi là tốt? Tôi nghĩ là ... hành động "hàn" một số cam kết trên đầu trang của cam kết trước đó đến từ cùng một chi nhánh?
Tôi yêu cầu điều này bởi vì tôi có rất nhiều xung đột trong các tệp tôi chưa chạm vào. Oh, và tôi làm việc hàng ngày với nhánh thượng lưu này.
CẬP NHẬT
Tôi vừa mới nhận thấy rằng một trong những cam kết đưa từ thượng nguồn đến chi nhánh chủ đề của tôi có SHA-1 id của họ thay đổi. Có ai biết điều gì có thể khiến Git làm điều này không? Nó có thể là chuyển đổi --merge
?
Phiên bản git của tôi là 1.5.6.5
Bạn có một số loại chuyển đổi tự động như trong http://stackoverflow.com/questions/1042207/git-svn-rebase-fails không? – VonC
@VonC 'core.autocrlf' trống, mà tôi giả định có giá trị mặc định là" đầu vào ". Có thể vì điều này? Tôi không chắc chắn làm thế nào tôi có thể tái sản xuất vấn đề bây giờ, để xem nếu thiết lập nó để sai làm cho bất kỳ sự khác biệt. –
ț: đảm bảo đặt thành sai, chỉ để chắc chắn. – VonC