ฉันเปลี่ยนชื่อไฟล์สองสามไฟล์โดยใช้git mv
ใช้git stash
ดู HEAD อย่างรวดเร็ว (โดยไม่ต้องเปลี่ยน) จากนั้นก็git stash pop
นำล็อตทั้งหมดกลับมาอีกครั้ง การเคลื่อนไหวของฉันหายไปจากรายการคอมมิตดังนั้นฉันจึงเปลี่ยนมันใหม่git rm
และข้อความคอมมิตที่อ้างว่าคอมไพล์พบว่าการเปลี่ยนชื่อเป็นการเปลี่ยนชื่อ ดังนั้นฉันจึงไม่คิดอะไรอีกแล้ว
แต่ตอนนี้โพสต์คอมมิตฉันไม่สามารถรับประวัติของไฟล์ที่ย้ายได้! นี่คือสิ่งที่คอมไพล์พูดเกี่ยวกับการกระทำที่เป็นปัญหา:
~/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%
ตอนนี้ฉันกำลังพยายามหาประวัติของไฟล์ที่ถูกย้ายเหล่านี้ดังนั้นฉันสามารถดูเวอร์ชันเก่าได้ แต่ฉันไม่ได้รับประโยชน์อะไร
~/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%
(ฉันยังพยายามจะไม่-M
, -C
และ--find-copies-harder
แต่จะไม่มีประโยชน์.)
ฉันสามารถรับประวัติภายใต้ชื่อเก่าซึ่งหยุด ณ จุดที่มันถูกลบออกจากตำแหน่งเดิม:
~/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%
คราวนี้ฉันก็เลยไม่ติด แต่ฉันคงไม่คิดว่าจะต้องทำแบบนี้ตลอดเวลา (ฉันคาดว่าจะมีไฟล์จำนวนพอสมควรที่จะย้ายอย่างน้อยหนึ่งครั้งในชีวิต)
ฉันทำอะไรผิดหรือเปล่า? สำเนาเก่าของไฟล์และสำเนาใหม่มีความเหมือนกัน 98.8% (เปลี่ยน 2 บรรทัดจาก 166) ความเข้าใจของฉันคือ git ควรจะสามารถติดตามไฟล์ได้ในกรณีนี้เพราะมันอนุมานถึงการดำเนินการเปลี่ยนชื่อแทนที่จะเก็บไว้อย่างชัดเจนและไฟล์ก็คล้ายกันมากพอที่ฉันเชื่อว่ามันควรจะคิดว่ามันเหมือนกัน
มีอะไรที่ฉันสามารถแก้ไขได้หรือไม่?