我不得不重新安装操作系统(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
这是我的第一个。我想知道其他人是否遇到了类似的东西,而且是解决方案。
谢谢!
答案 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。如果你没有,你可能会有非常糟糕的一天。