Git推送86.68MiB文件失败,报RPC failed/HTTP 400错误
Git推送失败:RPC failed (HTTP 400) 问题解决
错误信息
Enumerating objects: 22, done. Counting objects: 100% (22/22), done. Delta compression using up to 10 threads Compressing objects: 100% (12/12), done. Writing objects: 100% (13/13), 86.68 MiB | 34.88 MiB/s, done. Total 13 (delta 7), reused 0 (delta 0), pack-reused 0 error: RPC failed; HTTP 400 curl 22 The requested URL returned error: 400 send-pack: unexpected disconnect while reading sideband packet fatal: the remote end hung up unexpectedly Everything up-to-date
问题分析
此前推送均正常,本次推送的单个文件仅86.68MiB(低于100MiB),但仍触发HTTP 400错误,大概率是Git推送时生成的打包文件(pack)触达远端限制,或存在网络超时、波动问题。
解决步骤
增大HTTP推送缓冲区
执行命令提升Git处理大推送的缓冲区:git config --global http.postBuffer 104857600若无效,可将值调至200MiB(
209715200)。拆分打包文件大小
让Git将大文件拆分为更小的块推送:git config --global pack.windowMemory 100m git config --global pack.packSizeLimit 100m git config --global pack.threads 1单独推送目标提交
尝试只推送包含该大文件的特定提交,减少单次推送的数据量:git push origin <目标提交哈希值>排查网络稳定性
网络波动可能导致中途断开,尝试切换有线网络、重启路由器后重新推送。
内容的提问来源于stack exchange,提问作者Tanil
相关产品推荐
相关产品推荐

