Kho lưu trữ của tôi đã trải qua những thay đổi như:
- ... một số cam kết không liên quan ...
- Cam kết tệp mới
foovới 100 dòng nội dung - ... cam kết can thiệp, một số trong số đó chạm
foovào ... - Chèn nội dung
fooở đầu tệp hiện cóbarvàgit rm footrong cùng một cam kết - ... các cam kết không liên quan khác ...
Bây giờ tôi muốn xem nhật ký của tệp đã xóa foo. Mọi thứ tôi đã đọc, kể cả trên SO, đều nói rằng tôi có thể làm được git log -- foo, nhưng lệnh đó không tạo ra kết quả nào.
Nếu tôi tìm thấy cam kết bao gồm xóa footôi có thể git log 1234abcd -- foovà xem nhật ký của nó, vì vậy tôi nghĩ rằng con đường của tôi đến fookhông phải là vấn đề. Cũng lưu ý rằng git merge-base HEAD 1234abcdkết quả đầu ra 1234abcd[...], vì vậy tôi nghĩ rằng điều đó sẽ chứng minh cam kết có thể truy cập được HEAD. Lưu ý rằng không có tệp nào footrong cây làm việc của tôi (hiển nhiên, vì nó đã bị xóa). Sử dụng Git 1.7.1.1 trên OS X.
Tại sao không git log -- foohiệu quả với tôi và làm thế nào tôi có thể sửa chữa nó? Cảm ơn!
git log --follow -- foohoặcgit log --follow -M -- foo? (để buộc phát hiện đổi tên)