錯誤信息:
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 壓縮的。但是很顯然,淺複製要更靈活一點。