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操作系统)
其他回答
你可能不小心在你的项目根目录上用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")
我做了一个简单的魔术。我克隆回购到一个新的文件夹。从新文件夹复制。git文件夹到repo的旧文件夹,替换。git。
这对我很管用。虽然我很好奇的原因,我开始得到错误在第一个地方。我昨天注销的时候,一切正常。今早登录时发现不是。
rm .git/index
git reset
在Windows PowerShell上,应该是这样
rm -Force .git/index
git reset
克隆远程repo并将.git文件夹从它替换到有问题的本地目录解决了这个问题。