当我试图从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 config --global core.compression 0

然后你需要使用浅克隆

git clone --depth=1 <url>

然后最重要的步骤是CD到克隆的项目中

cd <shallow cloned project dir>

现在拆开克隆,一步一步

git fetch --depth=N, with increasing N

eg.

git fetch --depth=4

然后,

git fetch --depth=100

然后,

git fetch --depth=500

你可以通过替换N来选择你想要的步数,

最后下载所有剩下的版本,

git fetch --unshallow 

如果对你有帮助,请点赞:)

其他回答

这对我很有用

export GIT_TRACE_PACKET=1
export GIT_TRACE=1
export GIT_CURL_VERBOSE=1

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

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

原因

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

我的情况

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

我是怎么解决的?

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

和完成。

Tips

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

我希望这对你有所帮助。

试试这个

$ 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

对我来说,工作的是,因为这个错误可能发生在git的内存需求。我已经将这些行添加到我的全局git配置文件。gitconfig中,该文件位于$USER_HOME中,即C:\Users\<USER_NAME>\.gitconfig

[core] 
packedGitLimit = 512m 
packedGitWindowSize = 512m 
[pack] 
deltaCacheSize = 2047m 
packSizeLimit = 2047m 
windowMemory = 2047m

正在更改git克隆协议尝试。

例如,当“git clone https://xxxxxxxxxxxxxxx”时发生此错误

你可以试试“git clone git://xxxxxxxxxxxxxx”,也许可以。