##简述
目前一个项目开发中,本地会有一个安装过程,会将许多平台相关的code解压到本地,而开始其实只涉及到其中的某一个目录,但和其余的目录都是依赖的。因此在git remote repository上,只管理了要开发修改的这个目录的source code。
git remote repository上除了放了这部分的code,还有其他的与此业务上相关的project内容,但平台、技术上并无关联。因此在check到本地时,只要check其中的一个目录即可,这就需要用到git的sparse checkout功能了。
##Sparse checkout
使用起来很简单,可以参考这里:
- 创建和初始化新的本地repository:
mkdir <repo> && cd <repo>
git init
git remote add –f <name> <url>
- 允许sparse-checkout:
git config core.sparsecheckout true
- 配置sparse-checkout,将需要的目录添加到.git/info/sparse-checkout中(路径根目录为repository的.git所在位置):
echo some/dir/ >> .git/info/sparse-checkout
echo another/sub/tree >> .git/info/sparse-checkout
- Checkout from the remote:
git pull <remote> <branch>