【解决】:git clone项目报错fatal: fetch-pack: invalid index-pack output

象:之前一直使用gitee将个人学习和工作相关记录上传到个人gitee仓库,一直没出现过问题。直到有一天换电脑重新拉取代码发现出了问题,具体如下图:

原因分析:

经过查询发现主要原因是因为git clone的远程仓库的项目过大导致项目拉取失败。

这篇文章提到,是缓存区不够大导致。

client_loop: send disconnect: Connection reset by peerB/s-CSDN博客

解决办法:
当推送大量数据时(初始推送大型存储库,使用非常大的文件进行更改)可能需要 http.postBuffer 在 git 客户端 (而不是服务器)上设置更高的 设置 ;将 Git 缓冲区大小增加到 repo 的最大单个文件大小:

git config --global http.postBuffer 157286400

如果还是git代码还是下载失败,则需要继续修改git缓存的大小。

经过上述修改,一个远程仓库问题解决,另一个有更大文件的库依旧出错。

又查询了一个解决办法:

  1. 首先拉取项目最后一次提交 git clone --depth=1 项目地址

  2. 拉取全部项目内容 git fetch --unshallow , 一般不大的项目都可以拉取下来了;

  3. 如果步骤2还是报错 fatal: fetch-pack: invalid index-pack output ,那么可以进入项目目录执行 git fetch --depth=100(如果还是报错那就把数字调小),执行多次每次增加一段;
    例如:

        git fetch --depth=100
        git fetch --depth=200
        git fetch --depth=500
        git fetch --depth=1000
    
  4. 步骤3执行完成后执行 git fetch --unshallow 拉取全量分支信息,如果报错 fatal: –unshallow on a complete repository does not make sense, 则执行git config remote.origin.fetch "+refs/heads/*:refs/remotes/origin/*"命令增加git的orgin仓库的全部分支映射

  5. 最后执行 git fetch -pv拉取全部分支.

参考:

https://www.cnblogs.com/Lenbrother/p/17726195.html

github_githup上传client_loop: send disconnect: connection r-CSDN博客

  • 4
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值