ZBLOG

git push 出现error: RPC failed; HTTP 413 curl 22 The requested URL returned error: 413

这个错误表明你在执行 git push 时遇到了 HTTP 413 错误,通常是由于 Git 推送的数据量过大,超过了服务器的限制(比如 Nginx/Apache 的默认请求大小限制)。以下是解决方案:


1. 检查服务器配置

如果推送的目标是自建 Git 服务(如 GitLab/Gitea),检查 Web 服务器(Nginx/Apache)的配置:

Nginx

  1. client_max_body_size 100M; # 调整为足够大的值(如100MB或更大)

修改后重启 Nginx:

  1. sudo systemctl restart nginx

Apache

  1. LimitRequestBody 104857600 # 100MB

修改后重启 Apache:

  1. sudo systemctl restart apache2

2. Git HTTPS Buffer 调大

如果是 HTTPS 协议推送,尝试增大 Git 的 HTTP POST buffer:

  1. git config --global http.postBuffer 524288000 # 设置为500MB

3. SSH方式替代HTTPS

如果是 HTTPS 协议的问题,可以改用 SSH:

  1. git remote set-url origin git@github.com:用户名/仓库名.git

4. GitHub / GitLab等平台的特殊情况

  • GitHub:默认允许大文件(但建议用 git-lfs)。
  • GitLab:默认限制为10MB,需调整 gitlab.rb
    1. nginx['client_max_body_size'] = '100m'
    然后运行:
    1. sudo gitlab-ctl reconfigure

5.拆分提交或压缩历史

如果推送的是大文件或过多提交,可以:

  • 交互式变基压缩历史提交:
    1. git rebase -i HEAD~10 #合并最近10次提交
  • 删除大文件后重写历史(慎用):
    1. git filter-branch --tree-filter 'rm -f large_file' HEAD

6.使用分块传输编码(高级)

某些服务器支持分块传输,可尝试启用:

  1. git config --global http.version HTTP/1.1

总结步骤推荐:

  1. 先调大本地http.postBuffer
  2. 检查服务器配置
  3. 改用SSH协议
  4. 压缩提交或清理大文件

如果问题依旧,提供具体的 Git服务端类型和错误日志可进一步分析。


内容由零声教学AI助手提供,问题来源于学员提问

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:https://golang.0voice.com/?id=23665

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~

联系我们

在线咨询: 点击这里给我发消息

微信号:3007537140

上班时间: 10:30-22:30

关注我们
x

注册

已经有帐号?