例如检出 远程仓库为:git@github.com:xxx/xxx.git下的README.md文件和dir1/目录到本地test文件夹下
####基本的流程如下
$ mkdir test
$ git init
$ git config core.sparsecheckout true
$ cd test/.git/info
$ echo 'README.md' >> sparse-checkout
$ echo 'dir1/' >> sparse-checkout
$ git remote add origin git@github.com:xxx/xxx.git
$ git pull origin master
基本做法就是先设置sparsecheckout=true,可以先执行cat .git/config,查看是否设置了该值,没有的话,执行git config core.sparsecheckout true
Administrator@SKY-20180625ODQ MINGW64 /f/git/test (master)
$ cat .git/config
[core]
repositoryformatversion = 0
filemode = false
bare = false
logallrefupdates = true
symlinks = false
ignorecase = true
sparsecheckout = true
[remote "origin"]
url = git@github.com:xxxx/test.git
fetch = +refs/heads/*:refs/remotes/origin/*
Administrator@SKY-20180625ODQ MINGW64 /f/git/test (master)
$ git config core.sparsecheckout true
然后在.git/info 下新增 sparse-checkout文件,在该文件指定要检出的文件或者指定目录
Administrator@SKY-20180625ODQ MINGW64 /f/git/test (master)
$ cd .git/info
Administrator@SKY-20180625ODQ MINGW64 /f/git/test/.git/info (GIT_DIR!)
$ echo 'README.md' >> sparse-checkout
$ echo 'dir1/' >> sparse-checkout
设置远程仓库的url
Administrator@SKY-20180625ODQ MINGW64 /f/git/test/.git/info (GIT_DIR!)
$ git remote add origin git@github.com:xxx/xxx.git
$ git pull origin master