Git远程仓库克隆项目时出现fatal: Out of memory, malloc failed 或者 fetch-pack: unexpected disconnect while reading

在Linux系统中,使用Git进行大型项目操作时,尤其是在对大文件或多文件进行操作时,比如:在git clone <项目链接> <下载路径> 时,若系统分配给Git的内存不够大,会报以下错误:

error: 预期仍然需要 1119 个字节的正文2 MiB | 92.00 KiB/s 
fetch-pack: unexpected disconnect while reading sideband packet
fatal: 过早的文件结束符(EOF)
fatal: fetch-pack:无效的 index-pack 输出

或者内存溢出的错误:

fatal: Out of memory, malloc failed (tried to allocate 16777216000 bytes)

因此我们需要设置网络上行和下行速度,内存分配给Git有2GB,写入时以Byte为单位。

最重点的是:http.version设置为HTTP/1.1

yammie@oym-pc:~ $ git config --global http.lowSpeedLimit 0
yammie@oym-pc:~ $ git config --global http.lowSpeedTime 999999
yammie@oym-pc:~ $ git config --global http.postBuffer 2048576000
yammie@oym-pc:~ $ git config --global http.version HTTP/1.1

此时从远程仓库克隆项目到本地下载区,成功。

# 从远程仓库克隆git文件到~/下载/Programs/git中
yammie@oym-pc:~ $ git clone https://github.com/git/git.git ~/下载/Programs/git

正克隆到 ‘/home/yammie/下载/Programs/git’...
remote: Enumerating objects: 364972, done.
remote: Counting objects: 100% (237/237), done.
remote: Compressing objects: 100% (123/123), done.
remote: Total 364972 (delta 145), reused 180 (delta 114), pack-reused 364735
接收对象中: 100% (364972/364972), 236.60 MiB | 2.44 MiB/s, 完成.
处理 delta 中: 100% (274631/274631), 完成.

  • 7
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
fetch-packGit中的一个命令,用于从远程仓库获取对象和引用。它在执行过程中可能会遇到一些错误,其中包括"unexpected disconnect while reading sideband packets"、"fatal: early EOF"和"fatal: fetch-pack: invalid index-pack output"等错误。 这些错误通常表示与远程仓库的连接出现问题,可能是网络连接不稳定或远程仓库的问题导致的。下面是对这些错误的解释: 1. "unexpected disconnect while reading sideband packets":这个错误表示在读取边带数据包出现了意外的断开连接。边带数据包是Git在传输过程中用于传递进度信息和其他附加信息的数据包。 2. "fatal: early EOF":这个错误表示在读取远程仓库的数据,提前遇到了文件结束符(EOF)。可能是由于网络连接中断或远程仓库中的文件损坏导致的。 3. "fatal: fetch-pack: invalid index-pack output":这个错误表示fetch-pack命令在获取对象和引用后,解析索引文件发现了无效的输出。可能是由于远程仓库中的索引文件损坏或不完整导致的。 为了解决这些问题,你可以尝试以下几个步骤: 1. 检查你的网络连接是否正常,确保能够正常访问远程仓库。 2. 尝试重新执行fetch-pack命令,有候这些错误只是暂的问题。 3. 如果问题持续存在,可以尝试使用其他的Git客户端或者切换到其他的网络环境进行操作。 4. 如果问题仍然无法解决,可能需要联系远程仓库的管理员或者Git的技术支持团队寻求帮助。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值