Tôi chỉ đọc git-blame trang hướng dẫn một lần nữa và nhận thấy phần này:Tôi có thể phát hiện mã sao chép và dán bằng cách sử dụng git như thế nào?
Một đặc biệt là cách hữu ích là để xem nếu một tập tin bổ sung có dòng tạo ra bằng cách sao chép và dán từ các tập tin hiện có. Đôi khi điều này cho thấy rằng nhà phát triển đã bị cẩu thả và không cấu trúc lại mã đúng cách. Trước tiên, bạn có thể tìm thấy những cam kết rằng đã giới thiệu tập tin với:
git log --diff lọc = A --pretty = ngắn - foo
và sau đó chú thích các thay đổi giữa các cam kết và cha mẹ của nó, sử dụng cam kết ^! ký hiệu:
git đổ lỗi -C -C -f $ commit ^! - foo
Điều này nghe có vẻ khá thú vị, nhưng tôi không hoàn toàn không biết cách hoạt động và lý do. Tôi tự hỏi liệu nó có thể được sử dụng trong một git hook để phát hiện copy mã số &. Có thể một số chuyên gia git có thể giải thích hiệu quả của việc sử dụng các lệnh git ở trên với nhau, và liệu có thể sử dụng một cái gì đó như vậy để làm cho git hiển thị cho dù sao chép mã (có thể bằng cách sử dụng 'chỉ số tương tự' mà git dường như được tính khi đổi tên tệp)?
Cảm ơn bạn đã giải thích! Lá cờ '-C -C' đôi để git đổ lỗi trông thật thú vị –