1. 程式人生 > >git error 解決方案

git error 解決方案

今天使用git clone專案的原始碼時突然出現remote out of memery,解決辦法:

git config --global pack.windowMemory 2048m  ,我查了下記憶體,感覺是本地的git檔案太大了,都7,8g了 

我是直接在idea的terminal 直接打命令的,這個需要你配置好環境變數喔

最新同時遇到這個問題,因為需求的git源大於1g導致了這個問題

解決方法

git config --global http.postBuffer 2048m

通過下面命令檢視是否生效
git config --list
但是事實證明超過1g上面的方法還是不行,下面是我在stackoverflow 找到的解決方法:

錯誤是這樣的:

	Clone failed
		early EOF
		The remote end hung up unexpectedly
		index-pack failed
		RPC failed; curl 18 transfer closed with outstanding read data remaining
解決方法:
$ git clone http://github.com/large-repository(此處寫你自己的源) --depth 1
$ cd large-repository
$ git fetch --unshallow


depth用於指定克隆深度,為1即表示只克隆最近一次commit.

git shallow clone



git clone 預設會下載專案的完整歷史版本,如果你只關心最新版的程式碼,而不關心之前的歷史資訊,可以使用 git 的淺複製功能:
$ git clone --depth=1 https://github.com/bcit-ci/CodeIgniter.git

--depth=1 表示只下載最近一次的版本,使用淺複製可以大大減少下載的資料量,例如, CodeIgniter 專案完整下載有近 100MiB ,而使用淺複製只有 5MiB 多,這樣即使在惡劣的網路環境下,也可以快速的獲得程式碼。如果之後又想獲取完整歷史資訊,可以使用下面的命令:
$ git fetch --unshallow

或者,如果你只是想下載最新的程式碼看看,你也可以直接從 GitHub 上下載打包好的 ZIP 檔案,這比淺複製更快,因為它只包含了最新的程式碼檔案,而且是經過 ZIP 壓縮的。但是很顯然,淺複製要更靈活一點