Примечание для пользователей подмодулей git - решения здесь не будут работать для вас как есть.
Допустим, у вас есть родительский репозиторий, например, dev
, а ваш субмодульный репозиторий называется 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