git clone/pull 仓库单个目录、文件夹

使用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左右。所以过滤操作在实际拉取动作之前,而不是拉取后再取出需要的文件,速度还是很快的。

原文地址:https://www.cnblogs.com/dylanchu/p/14022331.html