公司有个项目的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了。

05-11 21:59