RPC failed; HTTP 504 curl 22 The requested URL returned error: 504 expected ‘packfile‘

发布时间:2026/6/5 12:41:33

RPC failed; HTTP 504 curl 22 The requested URL returned error: 504 expected ‘packfile‘ RPC failed; HTTP 504 curl 22 The requested URL returned error: 504 expected ‘packfile’一、解决办法Git 默认的 POST 缓冲区较小对于大文件容易传输失败。你可以通过命令行将其调大例如设置为 500MBgitconfig--globalhttp.postBuffer524288000二、AI 解答这个报错RPC failed; HTTP 504 curl 22 The requested URL returned error: 504 expected packfile是 Git 操作中非常常见的问题。它通常是因为目标仓库体积过大、网络不稳定或传输耗时过长导致网关超时HTTP 504进而使得数据包packfile接收不完整。你可以按照以下优先级逐步尝试解决方法一使用浅克隆推荐最快见效如果你只是想研究代码或拉取最新提交不需要完整的历史记录可以限制克隆的深度这能大幅降低下载量并避免超时。在命令后加上--depth1表示只拉取最近一次提交gitclone--depth1https://github.com/xxx/xxx.git注如果后续需要完整历史可以在进入目录后执行git fetch --unshallow来获取完整数据。方法二增大 Git 的 HTTP 缓冲区Git 默认的 POST 缓冲区较小对于大文件容易传输失败。你可以通过命令行将其调大例如设置为 500MBgitconfig--globalhttp.postBuffer524288000设置完成后重新执行你的git clone或git push命令。方法三切换为 SSH 协议最稳定HTTPS 协议对网络波动的容忍度较低而 SSH 协议相对更稳定且不受上述 HTTP 缓冲区的限制。生成 SSH 密钥ssh-keygen -t rsa将生成的公钥通常在~/.ssh/id_rsa.pub复制并添加到 GitHub/Gitee 等平台的账户设置中。使用 SSH 地址进行克隆gitclone gitgithub.com:用户名/仓库名.git方法四降级 HTTP 协议版本部分较新的 Git 版本在使用 HTTP/2 协议时存在多路复用的竞态 Bug可能导致连接被重置。你可以强制 Git 使用 HTTP/1.1 协议来规避此问题gitconfig--globalhttp.version HTTP/1.1方法五临时禁用 SSL 验证针对网络拦截环境如果你在公司内网或使用了特定的代理SSL 验证可能会干扰数据传输。可以尝试暂时关闭验证操作完成后建议恢复gitconfig--globalhttp.sslVerifyfalse 总结建议通常情况下结合方法一浅克隆和方法二加大缓存就能解决 90% 以上的此类问题。如果是长期维护的大型项目强烈建议使用方法三SSH 协议以获得最佳的稳定性。

相关新闻