解决Git索引过小的错误

时间:2019-09-20 15:35:54

标签: linux git ubuntu debian gitlab-omnibus

我最近将托管我们代码仓库的开发服务器更新到了较新版本的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的输出表明有足够的磁盘空间。

1 个答案:

答案 0 :(得分:3)

错误消息听起来像文件损坏。如果尚未用完磁盘空间,则可以删除索引文件并使用以下命令重新创建它:

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

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

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

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

参考文献

相关问题