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
除了获得一个新的存储库副本之外,还有什么方法可以修复这个问题吗?
当前回答
这听起来像是一个糟糕的克隆。你可以试试下面的方法来获取(可能吗?)更多信息:
git fsck --full
其他回答
这对我很管用。虽然我很好奇的原因,我开始得到错误在第一个地方。我昨天注销的时候,一切正常。今早登录时发现不是。
rm .git/index
git reset
现有的答案都不适合我。
我使用的是工作树,所以没有。git文件夹。
你需要回到你的主回购。其中,删除。git/worktrees/<name_of_tree>/index
然后按照其他答案运行git reset。
您也可以尝试恢复到以前版本的文件(如果您使用的是windows操作系统)
rm -f .git/index
git reset
更多信息请访问https://www.chris-shaw.com/blog/quick-fix-for-git-corrupt-index
我有同样的错误,并试图修复它所描述的接受的答案。然而,在重新设置.git/index中的索引后,它再次被损坏。
问题是,我昨天正在使用git bisect来查找一个bug,但忘记在一天结束时运行git bisect reset来清理。今天,当我开始进行更改时,git感到困惑,因为它仍然处于平分模式,而我正试图应用更改。我也不能只是运行git bisect reset,因为已经有变化了。
要解决这个问题,在根目录下的git bash中执行以下命令:
git stash -m <message>
git bisect reset # You are now most likely in detached head mode
git checkout <branch>
git stash apply # If you have multiple stashes, make sure
to apply the correct one
注意,在这种情况下,不需要删除.git/index并重置索引!