【问题标题】:GIT push, HTTP code = 502 errorGIT 推送,HTTP 代码 = 502 错误
【发布时间】:2014-08-10 22:52:57
【问题描述】:

我的项目大小是 1,63 GB(Magento 项目) 我关注了这个tutorial

当我执行此命令时:git push -u origin master,它开始写入对象,之后我在 git 控制台中收到此错误:

error: RPC failed, result=22, HTTP code = 502
fatal: The remote end hung up unexpectedly
fatal: The remote end hung up unexpectedly

我应该怎么做才能完成这项工作?

git remote -v 的结果是:

【问题讨论】:

  • git仓库是如何托管的?在本地,GitHub、GitLab ......?您是自己托管,还是使用一些托管服务提供商?仓库服务器前面有代理吗?
  • 顺便说一句,>1GB 的 repo 大小正在推动 git 的极限。考虑使用git-annex之类的东西。
  • @sleske 我正在使用托管服务提供商
  • @Chester:那会是哪一个?以及使用哪种访问方法?
  • @Chester: 502 是“坏网关”。这通常意味着实际服务前面的 Web 服务器(nginx、Apache ...)告诉您该服务没有运行 - 不接受请求。通常由于配置错误、错误配置、缺少依赖项而无法启动......我们需要了解更多关于您实际连接的细节。 git remote -v 打印出什么?

标签: git gitlab


【解决方案1】:

远程端挂断,因为您尝试传输的包大小超过了最大 HTTP 帖子大小。尝试使用

来限制这个包的大小
git config --local http.postBuffer 157286400

到 150MB。

【讨论】:

  • 这为我解决了这个问题。我使用的是标准/默认 Git 安装。
【解决方案2】:

我在设置代理时遇到了这个问题,但实际上不需要代理。

修复:

git config --global --unset http.proxy
git config --global --unset https.proxy

【讨论】:

    【解决方案3】:

    试试下面的命令。

    git config --global user.name "dummy"

    git config --global user.email "dummy@g.com"

    git config --global http.postBuffer 157286400

    更多信息:https://confluence.atlassian.com/stashkb/error-rpc-failed-result-22-push-to-stash-fails-604537633.html

    【讨论】:

      【解决方案4】:

      当我从代理连接(通过 CNTLM)切换到直接连接时,我遇到了类似的问题。 解决方案是从文件 c:\Users\.gitconfig: 中的 http 部分中删除此行:

      proxy = localhost:3128
      

      【讨论】:

        【解决方案5】:

        在我的情况下,当我在root 用户下的服务器上创建一个 git 存储库时,我遇到了同样的错误(HTTP 502 Bad gateway curl 22)。当然在这种情况下 fcgiwrap 和 git-http-backend 无法从www-data 用户下的客户端接收数据。因此,在www-data 用户下重新初始化服务器存储库后,错误就消失了。希望它可以帮助某人。

        【讨论】:

        • 我认为这是我的问题,但我看不到或不知道如何找到该用户。您能否提供您执行的步骤,以便我可以尝试看看这是否对我有帮助?
        • 谢谢!服务器上的sudo chown -R www-data.www-data . 解决了这个问题。
        【解决方案6】:

        我看到了同样的错误,但这些解决方案都不起作用。这是一个愚蠢的错误,但我想我会添加它以防其他人遇到它。我在设置远程来源时忘记了 URL 末尾的“.git”。

        【讨论】:

        • 为我工作!需要在 [remote "origin"] url 部分下的配置文件中添加 ".git"
        【解决方案7】:

        先增大尺寸

        # git config --global http.postBuffer 1048576000                                   
        git config --global http.postBuffer 500M
        git config --global http.maxRequestBuffer 100M
        git config --global core.compression 0
        

        检查尺寸

        git config --get http.postBuffer
        

        然后打开服务器终端

        su
        nano /etc/gitlab/gitlab.rb 
        
        #edit this line
        unicorn['worker_timeout'] = '4000'
        
        #running
        gitlab-ctl reconfigure
        

        #for any case 重启机器

        【讨论】:

          【解决方案8】:

          如果您在源代码树上遇到此问题,请执行以下操作:

          1. 打开首选项(在 Mac 上)或设置(在 Windows 中)
          2. 单击“Git”选项卡。
          3. 查找“git 版本”。在 git 版本下单击“重置为嵌入式 git”按钮,然后单击返回“使用系统 Git”按钮。 (此设置适用于 Mac OS,如果您使用的是 windows,请在此处找到类似的设置。)

          看图

          【讨论】:

            【解决方案9】:

            在添加 HTTP_PROXY 和 HTTPS_PROXY 环境变量以使其他事情正常工作后,我遇到了类似的问题。我无法使用我们的内部 git repos。有几种方法可以解决它: 您可以使用 git config --global --edit 将具有空值的代理变量添加到 git:

            [http]
                proxy = 
            [https]
                proxy = 
            

            或者使用命令:

            git config --global --add http.proxy ""
            git config --global --add https.proxy ""
            

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 2020-10-09
              • 2012-08-04
              • 2015-06-15
              • 1970-01-01
              • 2014-05-26
              相关资源
              最近更新 更多