Tôi đang cố gắng đặt vào các ảnh chụp nhanh liên tiếp của git về một dự án cụ thể. Tôi đang làm điều này bằng cách Populating thư mục kho lưu trữ với các nội dung của mỗi ảnh chụp và sau đó chạyLàm cách nào để kiểm soát ngưỡng đổi tên khi cam kết tệp dưới git?
git add -A .
git commit -m 'Version X'
Đây là phương pháp đề nghị trong this answer. Tuy nhiên, tôi thấy rằng các cam kết nhận ra tập tin đổi tên chỉ khi 100% nội dung tập tin vẫn giữ nguyên. Có cách nào để ảnh hưởng đến việc phát hiện đổi tên của git commit
để làm cho nó tìm thấy đổi tên nơi nội dung tập tin đã thay đổi một chút? Tôi thấy rằng git merge
và git diff
có các tùy chọn khác nhau để kiểm soát ngưỡng đổi tên, nhưng các tùy chọn này không tồn tại cho git commit
.
Những điều tôi đã cố gắng:
- Định vị các tập tin đổi tên với một kịch bản home-brew, và thực hiện một cam kết với các tập tin ban đầu được đổi tên thành địa điểm mới của họ trước khi cam kết các nội dung tập tin mới. Tuy nhiên, điều này giới thiệu một cam kết nhân tạo, và có vẻ không phù hợp, bởi vì nó không sử dụng chức năng phát hiện đổi tên của git.
Tạo một nhánh riêng biệt cho mỗi ảnh chụp và sau đó kết hợp các chi nhánh liên tiếp vào
master
sử dụnggit merge -s recursive -Xtheirs -Xpatience -Xrename-threshold=20
Tuy nhiên, điều này để lại cho tôi với các tập tin đổi tên của phiên bản cũ tại chỗ, trong khi cũng thất bại trong việc phát hiện các đổi tên.
Có quan trọng không? Việc đặt một tùy chọn như vậy trong 'git commit' sẽ chỉ ảnh hưởng đến giao diện người dùng của lệnh đó; Git không thực sự theo dõi các đổi tên. –
Tôi muốn 'git log --follow' để làm việc trên các đổi tên. Với một chuỗi đồng bằng các cam kết, nó dừng lại ở phiên bản mới nhất của tệp. –