Clone failed RPC failed; curl 56 GnuTLS recv error (-54): Error in the pull function.

錯誤信息:

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章