公司有個項目的git倉庫,因為一些二進制文件也放在里面,版本迭代后,整個倉庫特別大,有好幾G。
直接git clone
是不行的,會報這樣的錯誤:
error: RPC failed; HTTP 502 curl 22 The requested URL returned error: 502 Proxy Error
fatal: The remote end hung up unexpectedly
后來查了一下,使用--depth選項,只拉出一層的東西:
git clone --depth=1
這樣就只有master分支最新版本的代碼狀態了,只有幾十兆。本以為可以直接使用--unshallow
恢復到完整的倉庫,事實證明還是不行,這樣照樣還有下載好幾G的數據。
那就試試只拉取10個commit的吧:
git fetch --depth=10
果然,這樣是可以的。
好吧,那就一步一步來,最后是這樣做的:
for((i=10;i<=200;i=i+10));do git fetch --depth=$i;done
最后再:
git fetch --unshallow
一下就行了,可以愉快地git pull
了。