使用Git时如何解决“错误:索引错误–致命:索引文件损坏”

之后git init,我添加并提交了一些文件,进行了一些更改,添加并提交了。设置git守护程序(在WinXP上的Cygwin下运行)并克隆存储库一次。现在,我在克隆的存储库中收到此错误:


$ git status

error: bad index file sha1 signature

fatal: index file corrupt

除了获取存储库的新副本之外,还有什么方法可以解决此问题?


海绵宝宝撒
浏览 1517回答 3
3回答

心有法竹

如果问题在于索引是提交的暂存区域(即.git/index),则可以简单地删除索引(如果需要,可以创建备份副本),然后在上一次提交中将索引恢复为版本:在OSX / Linux上:rm -f .git/indexgit reset在Windows上:del .git\indexgit reset(reset上面的命令与相同  git reset --mixed HEAD)您也可以使用较低级别的管道 git read-tree代替git reset。如果问题出在packfile的索引上,则可以使用进行恢复git index-pack。

慕妹3146593

您可能在项目根目录上使用sed意外损坏了.git / index文件(可能在重构吗?),如下所示:sed -ri -e "s/$SEACHPATTERN/$REPLACEMENTTEXT/g" $(grep -Elr "$SEARCHPATERN" "$PROJECTROOT")为了避免将来发生这种情况,只需使用grep / sed忽略二进制文件即可:sed -ri -e "s/$SEACHPATTERN/$REPLACEMENTTEXT/g" $(grep -Elr --binary-files=without-match "$SEARCHPATERN" "$PROJECTROOT")
打开App,查看更多内容
随时随地看视频慕课网APP