2012-03-09 33 views
20

Tôi có một tệp foo.txt mà tôi muốn xóa và một tệp khác, bar.txt, mà tôi muốn thêm. Nếu hai tệp này có hơn 50% nội dung giống nhau, Git sẽ xem xét rằng foo.txt đang được đổi tên thành bar.txt. Làm thế nào tôi có thể làm cho Git thực sự thấy điều này như là một cá nhân loại bỏ, với một cá nhân thêm, trong cùng một cam kết, mà không thay đổi phát hiện ngưỡng toàn cầu%.Làm cho git bỏ qua đổi tên

Cảm ơn!

+4

Có một lý do cụ thể mà nó được ghi lại là "đổi tên" là một vấn đề? – Ryan

+6

Vấn đề là hai tập tin không nên có lịch sử của họ trộn lẫn. Giả sử tôi có một tệp có tiêu đề 'JohnDoe.txt' có chứa địa chỉ cơ quan và số điện thoại của John là 555-555-1212. John rời công ty cùng lúc với Jane Smith tham gia công ty (tạo tệp 'JaneSmith.txt'). Địa chỉ cơ quan của cô ấy giống nhau, nhưng số điện thoại là 555-555-1313. Nếu hai add/rm là một phần của cùng một commit, Git sẽ coi nó là một tên và 'git log --follow' sẽ cho tôi biết chúng là cùng một file (khi tôi không muốn chúng được). Gợi ý? – torngat

+0

@poke Tôi không rõ ràng về cách hoạt động trùng lặp. Câu hỏi của tôi đã được hỏi một năm trước khi bạn xác định được câu hỏi đó. Bạn có đi bằng câu trả lời "hoàn chỉnh nhất" không? – torngat

Trả lời

18

Bạn không thể. Bên trong, chúng sẽ được lưu dưới dạng xóa và bổ sung. Màn hình "đổi tên" sẽ được tính sau và phụ thuộc vào ngưỡng đó.

1

Để vô hiệu hóa phát hiện đổi tên với TortoiseGit (mặc dù lựa chọn git-diff như hạnh phúc, nên áp dụng đối với git bởi chính nó cũng) tôi đã thêm dòng sau vào gitconfig, mà dường như làm các trick (mặc dù dựa trên tài liệu, Tôi không nghĩ rằng nó nên):

[diff] 
    renameLimit = 1 
Các vấn đề liên quan