git bash:错误:RPC失败;结果= 18,HTP代码= 200B | 1KiB /秒

时间:2013-07-16 17:31:57

标签: git clone

当我尝试在git bash上克隆时,我收到此错误:

$git clone <link>
Cloning into 'name_project'...
Password for '<link>':
remote: Counting objects: 100% (659/659), done.
error: RPC failed; result=18, HTTP code = 200B | 1 KiB/s
fatal: The remote end hung up unexpectedly
fatal: early EOF
fatal: recursion detected in die handler

这是使用的命令:

git clone h(double t)ps://account@bitbucket.org/path.git

有人可以帮忙吗?

8 个答案:

答案 0 :(得分:24)

失败并出现错误的解决方案:RPC失败;结果= 18,HTTP代码= 200

第一个解决方案:

如果错误致命,请尝试在远程存储库中运行以下命令:index-pack failed

  

git repack -a -f -d --window = 250 --depth = 250

第二个解决方案:

如果以上方法无效,请从远程存储库位置尝试以下方法:

  

git gc --aggressive

     

git repack -a -f -d --window = 250 --depth = 250

第三种解决方案:

尝试减少远程存储库配置中的postBuffer大小。 请按照以下步骤

  1. 转到远程git存储库目录
  2. 运行以下命令以减小postBuffer

    的大小
      

    git config http.postBuffer 24288000

  3.   
  4. 您可以通过执行“git config --get http.postBuffer”
  5. 来检查此值   
  6. 立即尝试克隆存储库(返回到您要克隆的位置)
  7.   
  8. 如果失败并出现错误:RPC失败;结果= 18,HTTP代码= 200再次尝试通过在配置中进一步输入postBuffer。转到第1步。
  9.   

答案 1 :(得分:13)

嘿,我有同样的问题但是从下面提到的链接中解决了

https://confluence.atlassian.com/pages/viewpage.action?pageId=301663284

编辑:

  

** 来自网站: **

     

解决方法:

     

虽然我们为此选项设置了适当的服务器站点设置,但您可能需要调整/覆盖客户端的设置。为此,请执行以下命令:

     

从特定存储库中。请注意,末尾的数字是您希望在单个帖子中允许的大小(以字节为单位)。如果你有更大的文件,你可能需要增加这个数字。

     

git config http.postBuffer 524288000

     

为您连接的所有远程Git存储库设置全局   到

     

git config --global http.postBuffer 524288000

我不太确定它对每个人都有效,但这解决了我的问题

答案 2 :(得分:7)

我尝试了,无法解决当前的解决方案。它解决了我刚访问我的GitLab独角兽日志时显示问题:

I, [2014-02-10T17:46:29.953026 #5799]  INFO -- : worker=0 ready
E, [2014-02-10T17:47:52.026874 #5719] ERROR -- : worker=1 PID:5728 timeout (181s > 180s), killing
E, [2014-02-10T17:47:52.039670 #5719] ERROR -- : reaped #<Process::Status: pid 5728 SIGKILL (signal 9)> worker=1

工作者超时说明了长时间运行git clone的问题。

它修复了GitLab Unicorn配置..只需在config / unicorn.rb中将180秒更改为更大

timeout 360

如果您使用其他网络服务器或使用代理Nginx,您可能还需要:

  server {
       ...
    # if a file, which is not found in the root folder is requested,
    # then the proxy pass the request to the upsteam (gitlab unicorn)
    location @gitlab {
      proxy_read_timeout 600; # https://github.com/gitlabhq/gitlabhq/issues/694
      proxy_connect_timeout 600; # https://github.com/gitlabhq/gitlabhq/issues/694
      proxy_redirect     off;

      proxy_set_header   X-Forwarded-Proto $scheme;
      proxy_set_header   Host              $http_host;
      proxy_set_header   X-Real-IP         $remote_addr;

      proxy_pass http://gitlab;
    }
  }

注意部分proxy_read_timeout和proxy_connect_timeout。

答案 3 :(得分:4)

我们需要调整/覆盖客户的设置。

git config --global http.postBuffer 524288000

答案 4 :(得分:0)

我从 bitbuket.com

克隆代码时遇到了这个问题

错误

D:\ABCProj>git clone xxxxxxx
cloning into 'xxxxx'.....
Password for 'https://ccccc':
remote:Counting Objects : 14705,done.
remote:Compressing Objects :100%(1234/1234),done.
error:fatal:fatal:RPC failed ; result =18 ,HTTP code =200B/s early EOF
The remote end hung up unexpectedly
fatal:index-pack failed

解决方案,下面的东西都修好了我的Probs!简单地说,我只是执行下面的任何一个命令然后你可以再次克隆/签出

D:\ABCProj>git config http.postBuffer 524288000

如果您想为所有连接到的远程Git存储库设置 gloablly

D:\ABCProj>git config --global http.postBuffer 524288000

然后克隆你的项目

D:\ABCProj>git clone xxxxxxxxxxxxx 

有关此问题的更多详细信息或说明请参阅此网站https://confluence.atlassian.com/pages/viewpage.action?pageId=301663284

答案 5 :(得分:0)

在Linux上

在执行Git命令之前在命令行中执行以下命令:

  1. 导出GIT_CURL_VERBOSE = 1
  2. 导出GIT_TRACE_PACKET = 1
  3. 导出GIT_TRACE = 1
  4. 在Windows上

    在执行Git命令之前在命令行中执行以下命令:

    1. 设置GIT_TRACE_PACKET = 1
    2. 设置GIT_TRACE = 1
    3. 设置GIT_CURL_VERBOSE = 1
    4. 更多信息==&gt; Atlassian Documentation

答案 6 :(得分:0)

如果以下命令不起作用:

git config http.postBuffer 24288000

尝试以下命令:

git config --add core.compression -1

答案 7 :(得分:0)

设置 http.postBuffer,但仍然引发错误。

git config --global http.postBuffer 524288000

GIT_CURL_VERBOSE=1 之前添加 git clone ... 对我有用。

GIT_CURL_VERBOSE=1 git clone https://github.com/...

参考:git config - Git clone return result=18 code=200 on a specific repository - Stack Overflow