16

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

error: index file .git/objects/pack/pack-d3325f684a4eca22c0c168d7c63119da147865e 4.idx is too small

error: index file .git/objects/pack/pack-d3325f684a4eca22c0c168d7c63119da147865e
4.idx is too small

error: index file .git/objects/pack/pack-d3325f684a4eca22c0c168d7c63119da147865e
4.idx is too small

error: index file .git/objects/pack/pack-d3325f684a4eca22c0c168d7c63119da147865e
4.idx is too small

warning: packfile .git/objects/pack/pack-dc512716779f21b39f70fea9afcb5baa36ea872
d.pack cannot be accessed

error: index file .git/objects/pack/pack-d3325f684a4eca22c0c168d7c63119da147865e
4.idx is too small

致命:无法读取树 30cda07e931a7c9f3b1e3383c18efa10b2523c67

这对我来说是第一个。我想知道其他人是否遇到过类似的事情,这是解决方案。

谢谢!

4

3 回答 3

27

你试过像

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

git config repack.usedeltabaseoffset false
git repack -a -d
于 2013-04-03T06:57:11.250 回答
10

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

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

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

于 2013-04-03T07:03:56.093 回答
3

使用git fsck也许可以恢复您的存储库。

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

于 2013-04-03T06:55:11.267 回答