如何永久修复Git报错‘RPC failed; HTTP 400 curl 22’?
永久修复Git推送时"RPC failed; HTTP 400"报错的方案
全局设置HTTP推送缓冲区
临时配置仅对当前仓库生效,执行全局命令让所有仓库自动应用该设置:git config --global http.postBuffer 524288000清理并修复本地仓库
本地仓库的冗余数据或损坏对象可能引发推送异常:- 清理缓存与冗余对象:
git gc --prune=now - 检查仓库完整性:
git fsck --full,若发现损坏对象,可根据提示从远程重新拉取对应分支修复
- 清理缓存与冗余对象:
优化HTTP传输参数
调整Git的HTTP相关配置,适配网络或服务器特性:- 开启持久连接避免频繁断开:
git config --global http.keepAlive true - 放宽低速传输判定阈值,防止因网络波动被中断:
git config --global http.lowSpeedLimit 0 git config --global http.lowSpeedTime 999999 - 若服务器对HTTP/2支持不佳,切换回HTTP/1.1:
git config --global http.version HTTP/1.1
- 开启持久连接避免频繁断开:
检查远程仓库配置与服务器限制
- 确认远程仓库URL正确性:
git remote -v,若地址有误,重新设置:git remote set-url origin <正确的远程仓库地址> - 联系托管平台管理员,确认服务器是否有请求大小限制(比如Web服务器的
client_max_body_size配置)或带宽限制,这类限制常引发HTTP 400错误
- 确认远程仓库URL正确性:
处理大文件或拆分提交
如果推送失败是因为提交包含超大文件:- 用
git filter-repo移除历史中的大文件(替代过时的git filter-branch) - 配置Git LFS管理大文件,避免推送时传输过大数据
- 用
内容的提问来源于stack exchange,提问作者Renata
相关产品推荐
相关产品推荐

