หมายเหตุสำหรับผู้ใช้ submodule git - การแก้ปัญหาที่นี่จะไม่ทำงานสำหรับคุณตามที่เป็นอยู่
สมมติว่าคุณมีพื้นที่เก็บข้อมูลหลักที่เรียกว่าdevตัวอย่างเช่นและที่เก็บ submodule ของคุณถูกเรียกว่าapiของคุณเรียกว่า
หากคุณอยู่ภายในapiและคุณได้รับข้อผิดพลาดที่กล่าวถึงในคำถามนี้:
error: bad index file sha1 signature
fatal: index file corrupt
indexไฟล์จะไม่ได้รับภายในของ.gitโฟลเดอร์ ในความเป็นจริง.gitจะไม่เป็นโฟลเดอร์ - มันจะเป็นเอกสารข้อความที่มีตำแหน่งของข้อมูล. git จริงสำหรับที่เก็บนี้ มีแนวโน้มบางอย่างเช่นนี้:
~/dev/api $ cat .git
gitdir: ../.git/modules/api
ดังนั้นแทนที่จะrm -f .git/indexต้องทำสิ่งนี้:
rm -f ../.git/modules/api/index
git reset
หรือโดยทั่วไปแล้ว
rm -f ../.git/modules/INSERT_YOUR_REPO_NAME_HERE/index
git reset