当我试图从GitLab (GitLab 6.6.2 4ef8369)克隆一个存储库时,我遇到了这个错误:

remote: Counting objects: 66352, done.
remote: Compressing objects: 100% (10417/10417), done.
error: RPC failed; curl 18 transfer closed with outstanding read data remaining
fatal: The remote end hung up unexpectedly
fatal: early EOF
fatal: index-pack failed

然后中止克隆。我该如何避免这种情况?


当前回答

可能有两个原因

网速很慢(这是我的情况) 缓冲区大小较小,在这种情况下可以运行命令 Git配置——global http。postBuffer 524288000

其他回答

我能够克隆与GitHub桌面回购

如上所述,首先从bash运行git命令,在开始时添加增强的日志指令:GIT_TRACE=1 GIT_CURL_VERBOSE=1 git…

例如:GIT_CURL_VERBOSE=1 GIT_TRACE=1 git -c diff.mnemonicprefix=false -c core。Quotepath =错误的获取源 这将显示详细的错误信息。

这种情况经常发生,我的网络连接很慢,我不得不克隆一个相当大的git存储库。最常见的问题是连接关闭,整个克隆被取消。

Cloning into 'large-repository'...
remote: Counting objects: 20248, done.
remote: Compressing objects: 100% (10204/10204), done.
error: RPC failed; curl 18 transfer closed with outstanding read data remaining 
fatal: The remote end hung up unexpectedly
fatal: early EOF
fatal: index-pack failed

经过大量的尝试和错误,以及大量的“远程端意外挂断”之后,我有了一个适合我的方法。这个想法是先做一个浅克隆,然后用它的历史更新存储库。

$ git clone http://github.com/large-repository --depth 1
$ cd large-repository
$ git fetch --unshallow

试试这个

$ git config --global user.name "John Doe"
$ git config --global user.email johndoe@example.com

https://git-scm.com/book/en/v2/Getting-Started-First-Time-Git-Setup

这是我的工作。 capture.png

当我把一些代码推到Github时,我也遇到了同样的问题。

我尝试了git配置——global http。postBuffer 524288000,但它没有为我工作。

原因

这是因为你的提交历史和/或任何文件的大小更大。

我的情况

在我的例子中,是包锁。Json导致了这个问题。 它的大小为1500+KB,代码行数为33K。

我是怎么解决的?

我提交并推送了所有没有package-lock.json的东西 复制package-lock.json的内容。 创建一个名为package-lock的新文件。json从GitHub回购页面。 粘贴包锁的内容。Json并提交。 少管员停在本地。

和完成。

Tips

保持每个提交大小较小 推动经常 使用良好的网络连接

我希望这对你有所帮助。