使用git的sparse-checkout. 步骤如下:
mkdir my-prj && cd my-prj
git init
git remote add -f origin http://oauth2:your-token-here@your-git-repo-path.git # 获取远程仓库的文件和分支等信息
git config core.sparsecheckout true # 开启sparse checkoout, 无--global, 仅对当前项目
echo "src/Package" >> .git/info/sparse-checkout # 设置过滤条件, 即需要clone的目录
git pull origin master
仓库大小共70GB左右,实际下载的确在10GB左右。所以过滤操作在实际拉取动作之前,而不是拉取后再取出需要的文件,速度还是很快的。