You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

git clone报错curl 92 HTTP/2流未正常关闭 首次失败二次成功问题求解

报错信息
Cloning into 'Important-Documents'...
remote: Enumerating objects: 83, done.
remote: Counting objects: 100% (83/83), done.
remote: Compressing objects: 100% (81/81), done.
error: RPC failed; curl 92 HTTP/2 stream 7 was not closed cleanly before end of the underlying stream
error: 4241 bytes of body are still expected
fetch-pack: unexpected disconnect while reading sideband packet
fatal: early EOF
fatal: fetch-pack: invalid index-pack output
问题产生原因
  • 核心触发源为Git默认采用的HTTP/2通信协议兼容性问题:部分网络环境(包括运营商QoS限制、企业防火墙规则、家庭网络NAT会话超时机制)对HTTP/2长连接的支持不完善,首次克隆时HTTP/2数据流在传输完成前被意外中断
  • Git默认HTTP传输缓冲区配置过小:当仓库总大小或单个文件大小超出默认缓冲区阈值时,首次传输会触发流截断;第二次克隆时已有部分元数据本地缓存,传输量低于阈值即可正常完成
  • 托管平台会话超时限制:部分Git服务端的HTTP/2会话超时阈值设置较短,首次克隆时服务端需要完成对象枚举、压缩的耗时较长,会话被提前断开;第二次请求时服务端已缓存压缩后的对象结果,响应速度更快不会触发超时
解决方案
  • 方案1(推荐,适配90%以上场景):全局强制Git使用HTTP/1.1协议通信,避开HTTP/2兼容性问题
    执行命令:git config --global http.version HTTP/1.1
  • 方案2(适配含大文件的仓库场景):调大HTTP传输缓冲区阈值,以下配置将缓冲区调整为500M,可根据仓库实际大小上调数值
    执行命令:git config --global http.postBuffer 524288000
  • 方案3(适配网络不稳定场景):开启低速传输容错机制,允许网络速度极低时保持连接不中断
    执行命令:
    git config --global http.lowSpeedLimit 0
    git config --global http.lowSpeedTime 999999
    
  • 方案4(临时单次使用):克隆时先执行浅克隆减少单次传输量,之后再拉取完整历史
    执行命令:
    git clone --depth 1 <你的仓库地址>
    cd <仓库目录>
    git fetch --unshallow
    

内容的提问来源于stack exchange,提问作者Laveen Ren

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.23 15:18:06