【问题标题】:Resolving Errors With Git Index Too Small解决 Git 索引太小的错误
【发布时间】:2019-09-20 15:35:54
【问题描述】:

我最近将托管我们代码库的开发服务器更新为更新版本的 Ubuntu (18.04)。作为该过程的一部分,git 升级到了 2.23.0 版。部署代码的实际应用程序服务器需要能够从 git 存储库中签出最新更改。当我尝试在这些服务器上执行“git fetch”时,我得到一长串如下所示的错误:

错误:索引文件 ./objects/pack/._pack-5b58f700fea57ee6f8ff29514a376b945bb1c8a9.idx 是 太小了

我做了一些挖掘,看看我是否能想出一个解决方案,但到目前为止,注意到已经奏效了。我尝试了此处列出的答案:git error: "index file is too small"git index-packgit repack -a -d 都没有解决这个问题。我什至尝试从应用程序服务器中删除文件的本地副本并使用 git clone 重新安装。克隆本身抛出了一堆类似于之前的错误

远程:错误:索引文件 ./objects/pack/._pack-5b58f700fea57ee6f8ff29514a376b945bb1c8a9.idx 是 太小了

在这一点上,我没有想法。任何帮助将不胜感激。

编辑:du -h 的输出表明有足够的磁盘空间。

【问题讨论】:

    标签: linux git ubuntu debian gitlab-omnibus


    【解决方案1】:

    错误消息听起来像是文件损坏。如果您还没有用完磁盘空间,您可以删除索引文件并重新创建它:

    git index-pack -v ./objects/pack/._pack-5b58f700fea57ee6f8ff29514a376b945bb1c8a9.idx
    

    您可能还想使用git-fsck 来运行 验证 GIT 数据库中对象的连接性和有效性——无论是远程的还是本地的。

    如果您的索引已损坏,您也可以尝试重置将创建新索引文件的分支:

    1. 为了安全起见,备份.git/index
    2. 删除索引文件.git/index
    3. 执行git reset

    参考文献

    【讨论】:

    • @pbuchheit 我再次编辑了我的答案。我忘了提到我还建议在远程服务器上运行git-fsck ,因为您的一条错误消息表明它不是本地问题。您有权访问远程仓库吗?
    • 我想你可能已经给了我需要的角度。 Gitlab 有一个内置工具可以在远程仓库上运行 fsck。我跑了,那里确实似乎有问题。我想的下一个问题是如何修复 fsck 报告的错误?
    猜你喜欢
    • 2021-03-09
    • 2010-11-10
    • 2017-04-29
    • 2020-12-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-04
    相关资源
    最近更新 更多