git初始化后,我添加并提交了一些文件,做了一些修改,添加并提交。设置git守护进程(在WinXP上的Cygwin下运行)并克隆一次存储库。 现在,我得到这个错误与克隆的存储库:
$ git status
error: bad index file sha1 signature
fatal: index file corrupt
除了获得一个新的存储库副本之外,还有什么方法可以修复这个问题吗?
git初始化后,我添加并提交了一些文件,做了一些修改,添加并提交。设置git守护进程(在WinXP上的Cygwin下运行)并克隆一次存储库。 现在,我得到这个错误与克隆的存储库:
$ git status
error: bad index file sha1 signature
fatal: index file corrupt
除了获得一个新的存储库副本之外,还有什么方法可以修复这个问题吗?
当前回答
在Windows PowerShell上,应该是这样
rm -Force .git/index
git reset
其他回答
我提交了我的更改,突然我的笔记本电脑由于电池问题关闭了,然后我得到了这个致命的索引损坏错误,桌面github无法定位这个git回购。所以我使用git-bash运行下面提到的命令,一切都恢复正常。
rm -f .git/index
git reset
如果混合使用不同的git版本,回购可能会被损坏。
新git版本所涉及的本地存储库与旧git版本不向后兼容。新的git回购看起来像旧的git版本(在我的例子中,git 2.28破坏了git 2.11的回购)。
更新旧的git版本可能会解决这个问题。
在Windows PowerShell上,应该是这样
rm -Force .git/index
git reset
当其中一个子目录下有一个.git目录时,就会出现此问题。要修复此问题,请检查是否有其他.git目录,并删除它们并重试。
我做了一个简单的魔术。我克隆回购到一个新的文件夹。从新文件夹复制。git文件夹到repo的旧文件夹,替换。git。