Tôi đã đổi tên một vài tệp bằng cách sử dụng git mv
, đã sử dụng git stash
, đã xem nhanh HEAD (mà không cần thay đổi nó) sau đó đã làm lại git stash pop
toàn bộ lô. Các bước di chuyển của tôi đã biến mất khỏi danh sách cam kết, vì vậy tôi đã làm lại chúng git rm
và thông báo cam kết tuyên bố git đã phát hiện ra tên đổi tên là đổi tên. Vì vậy, tôi không nghĩ đến nó nữa.
Nhưng bây giờ, sau khi cam kết, tôi không thể xem lịch sử của các tệp đã chuyển! Đây là những gì git nói về cam kết được đề cập:
~/projects% git log --summary
commit de6e9fa2179ae17ec35a5c368d246f19da27f93a
Author: brone
Date: Wed Dec 8 22:37:54 2010 +0000
Moved R_DebugUI into runtime
delete mode 100644 test/R_DebugUI_iOS.h
delete mode 100644 test/R_DebugUI_iOS.m
create mode 100644 system/runtime/src/R_DebugUI_iOS.h
create mode 100644 system/runtime/src/R_DebugUI_iOS.m
<<snip older commits>>
~/projects%
Bây giờ tôi đang cố lấy lịch sử của một trong những tệp đã di chuyển này, vì vậy tôi có thể xem phiên bản cũ, nhưng tôi không nhận được bất kỳ thứ gì hữu ích:
~/projects/system/runtime/src% git log --follow --find-copies-harder -M -C R_DebugUI_iOS.m
commit de6e9fa2179ae17ec35a5c368d246f19da27f93a
Author: brone
Date: Wed Dec 8 22:37:54 2010 +0000
Moved R_DebugUI into runtime
~/projects/system/runtime/src%
(Tôi cũng đã thử nó mà không có -M
, -C
và --find-copies-harder
, nhưng vô ích.)
Tôi có thể lấy lịch sử của nó dưới tên cũ của nó, dừng lại ở điểm nó bị xóa khỏi vị trí cũ:
~/projects% git log --summary --follow --find-copies-harder -M -C -- test/R_DebugUI_iOS.m
commit de6e9fa2179ae17ec35a5c368d246f19da27f93a
Author: brone
Date: Wed Dec 8 22:37:54 2010 +0000
Moved R_DebugUI into runtime
delete mode 100644 test/R_DebugUI_iOS.m
commit 32a22d53c27e260714f759ecb3d3864e38b2e87f
Author: brone
Date: Tue Dec 7 23:52:51 2010 +0000
Can set debug UI's alpha.
<<snip older commits>>
~/projects%
Vì vậy, tôi không hoàn toàn bế tắc lần này, nhưng tôi sẽ không thích phải làm những việc như thế này mọi lúc. (Tôi dự đoán có một số lượng lớn tệp sẽ di chuyển ít nhất một lần trong đời.)
Tôi có làm điều gì sai? Hồ sơ bản cũ và bản mới giống nhau 98,8% (2 dòng trên tổng số 166 thay đổi). Sự hiểu biết của tôi là git sẽ có thể theo dõi tệp trong trường hợp này, bởi vì nó cho phép đổi tên các hoạt động thay vì lưu trữ chúng một cách rõ ràng và các tệp tương tự nhau đến mức tôi tin rằng nó nên coi chúng giống nhau.
Tôi có thể làm gì để sửa lỗi này không?