git错误:“索引文件太小”

时间:2013-04-03 06:48:07

标签: git

我不得不重新安装操作系统(Windows 7 x64),与项目相关的所有内容都在另一个分区上,所以我的项目仍然存在。我需要安装的应用程序也是git,但在我试图查看项目的状态(git status)后,发生了以下异常:

  

错误:索引文件.git / objects / pack / pack-d3325f684a4eca22c0c168d7c63119da147865e 4.idx太小

     

错误:索引文件.git / objects / pack / pack-d3325f684a4eca22c0c168d7c63119da147865e   4.idx太小了

     

错误:索引文件.git / objects / pack / pack-d3325f684a4eca22c0c168d7c63119da147865e   4.idx太小了

     

错误:索引文件.git / objects / pack / pack-d3325f684a4eca22c0c168d7c63119da147865e   4.idx太小了

     

警告:packfile .git / objects / pack / pack-dc512716779f21b39f70fea9afcb5baa36ea872   d.pack无法访问

     

错误:索引文件.git / objects / pack / pack-d3325f684a4eca22c0c168d7c63119da147865e   4.idx太小了

     

致命:无法阅读树30cda07e931a7c9f3b1e3383c18efa10b2523c67

这是我的第一个。我想知道其他人是否遇到了类似的东西,而且是解决方案。

谢谢!

3 个答案:

答案 0 :(得分:19)

你有没有试过

在本地存储库的配置中,将repack.usedeltabaseoffset设置为false,然后重新打包存储库:

git config repack.usedeltabaseoffset false
git repack -a -d

答案 1 :(得分:6)

听起来您的包文件的索引已损坏。如果您确定没有磁盘空间不足,可以删除索引文件并使用以下命令重新创建:

git index-pack -v .git/objects/pack/pack-d3325f684a4eca22c0c168d7c63119da147865e4.pack

请注意,必须执行此类操作非常罕见,因此您应将错误视为可能的文件系统损坏的标志。您可能想要擦除所有内容并从备份中恢复。

答案 2 :(得分:2)

使用git fsck 可能能够恢复您的存储库。

但是,更有可能的是,您应该四处寻找其他选项,例如从备份恢复,或从某些git远程克隆。作为正常git开发的一部分,您应该将更改推送到某个远程服务器,例如您的另一个git服务器或Github。如果你没有,你可能会有非常糟糕的一天。