如何解决“错误:索引错误 – 致命:索引文件损坏"使用 Git 时 [英] How to resolve "Error: bad index – Fatal: index file corrupt" when using Git
问题描述
在git init
之后,我添加并提交了一些文件,进行了一些更改,添加并提交.设置 git 守护进程(在 WinXP 上的 Cygwin 下运行)并克隆一次存储库.现在,克隆的存储库出现此错误:
After git init
, I added and committed a few files, made some changes, added and committed. Set up the git daemon (running under Cygwin on WinXP) and cloned the repository once.
Now, I get this error with the cloned repository:
$ git status
error: bad index file sha1 signature
fatal: index file corrupt
除了获取存储库的新副本之外,还有其他方法可以解决此问题吗?
Is there any way to fix this, other than getting a new copy of the repository?
推荐答案
如果问题出在索引作为提交的暂存区(即 .git/index
),您可以简单地删除索引(如果需要,请制作备份副本),然后将索引恢复到上次提交的版本:
If the problem is with the index as the staging area for commits (i.e. .git/index
), you can simply remove the index (make a backup copy if you want), and then restore index to version in the last commit:
在 OSX/Linux/Windows 上(使用 Git bash):
On OSX/Linux/Windows(With Git bash):
rm -f .git/index
git reset
在 Windows 上(使用 CMD 而不是 git bash):
On Windows (with CMD and not git bash):
del .gitindex
git reset
(上面的reset
命令与git reset --mixed HEAD
相同)
您也可以使用较低级别的管道 git read-tree
而不是 git reset
.
You can alternatively use lower level plumbing git read-tree
instead of git reset
.
如果问题出在 packfile 的索引,你可以使用 git index-pack
恢复它.
If the problem is with index for packfile, you can recover it using git index-pack
.
这篇关于如何解决“错误:索引错误 – 致命:索引文件损坏"使用 Git 时的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!