错误信息一:
Clone failed RPC failed; curl 56 GnuTLS recv error (-54): Error in the pull function. The remote end hung up unexpectedly early EOF index-pack failed
解决方法:
打开终端
git config --global http.postBuffer 524288000
--------------------------如果可以正常下载的话,可以不看以下内容--------------------------------
修改配置文件
gedit ~/.bashrc
然后在配置文件的最下面加上这三行
export GIT_TRACE_PACKET=1 export GIT_TRACE=1 export GIT_CURL_VERBOSE=1
然后保存退出后运行:
source ~/.bashrc
使配置文件生效
依旧不行,可尝试:
需要如下方式命令,只clone深度为一
$ git clone https://github.com/JGPY/large-repository.git --depth 1 $ cd large-repository $ git fetch --unshallow
depth用于指定克隆深度,为1即表示只克隆最近一次commit.(git shallow clone)
git clone 默认会下载项目的完整历史版本,如果你只关心最新版的代码,而不关心之前的历史信息,可以使用 git 的浅复制功能:
$ git clone --depth=1 https://github.com/JGPY/large-repository.git
--depth=1 表示只下载最近一次的版本,使用浅复制可以大大减少下载的数据量,例如, CodeIgniter 项目完整下载有近 100MiB ,而使用浅复制只有 5MiB 多,这样即使在恶劣的网络环境下,也可以快速的获得代码。如果之后又想获取完整历史信息,可以使用下面的命令:
$ git fetch --unshallow
或者,如果你只是想下载最新的代码看看,你也可以直接从 GitHub 上下载打包好的 ZIP 文件,这比浅复制更快,因为它只包含了最新的代码文件,而且是经过 ZIP 压缩的。但是很显然,浅复制要更灵活一点。
错误信息二:
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
这个错误是因为项目太久,tag资源文件太大
解决方法一:
网上大部分解决措施:命令终端输入
git config --global http.postBuffer 524288000
用上面的命令有的人可以解决,我的还不行,需要如下方式命令,只clone深度为1
git clone /github_com/large-repository --depth 1 cd large-repository git fetch --unshallow
中划线处填入你的git仓库的地址。。。(我用的是http方式,不是ssh)
解决方法二:
一般clone http方式的容易产生此问题,改成SSH的方式也有效,即https://改为git://
相关拓展博客地址:
http://www.jianshu.com/p/0e3421961db4
http://blog.csdn.net/h5q8n2e7/article/details/46919579
原文链接:
Clone failed RPC failed; curl 56 GnuTLS recv error (-54): Error in the pull function.
git报错--RPC failed; curl 18 transfer closed with outstanding read data remaining