之后git init,我添加并提交了一些文件,进行了一些更改,添加并提交了。设置 git 守护进程(在 WinXP 上的 Cygwin 下运行)并克隆存储库一次。现在,我在克隆的存储库中收到此错误:
git init
$ git status error: bad index file sha1 signature fatal: index file corrupt
除了获取存储库的新副本之外,还有什么方法可以解决这个问题?
如果问题在于索引作为 提交的暂存区域 (即.git/index),您可以简单地删除索引(如果需要,请制作备份副本),然后将索引恢复到上次提交中的版本:
.git/index
在 OSX/Linux/Windows(使用 Git bash)上:
rm -f .git/index git reset
在 Windows 上(使用 CMD 而不是 git bash):
del .git\index git reset
(reset上面的命令与 相同 git reset --mixed HEAD)
reset
git reset --mixed HEAD
您也可以使用较低级别的管道 git read-tree代替git reset.
git read-tree
git reset
如果问题出在 packfile 的索引上 ,您可以使用git index-pack.
git index-pack