最近整理散乱在各处的文件时,想到这个问题,于是在知乎上看到一个方法,测试可行,所以整理在此:
此处以pull我的仓库中https://github.com/mayaobei/RaspBerryPi/tree/master/python/python-qrcode目录为例进行说明
1.创建一个空目录用于存放pull下来的文件
mkdir testSparse
2.初始化git,开启core.sparseCheckout,添加远程仓库
git init
git config core.sparseCheckout true
git remote add -f https://github.com/mayaobei/RaspBerryPi.git
注意这里还是添加仓库名称。在测试的时候remote add要花费很长的时间,比push整个仓库的时间都长!push的时候显示速度能达到600KiB/s,但是add时却仅有可怜的14KiB/s,但是基于cmd的方式不会受限于平台或者浏览器插件,通用性较好,所以还是推荐使用这种方式。
3.添加要pull的文件夹路径到.git/info/sparse-checkout文件
echo python/python-qrcode/* > .git/info/sparse-checkout
如果有多个文件或文件夹,可以这种方式继续添加
4.pull master
git pull origin master
5.完成,当前目录下已经下载好了仓库中python/python-qrcode目录和里面的内容
git remote add -f后面少了参数,例如origin