我们的git仓库目录结构:
http://server/company.git + | +- project1 | +- project2 | +- project3 | +- ...
以前使用svn的时候是可以直接拉取其中一个子项目,像下面这样:
svn checkout http://server/company.git/project1
但是git好像不支持这种用法,网上找了一下相关资料,可以借助git的 Sparse checkout
实现:
git clone http://server/company.git --no-checkout cd company git config core.sparsecheckout true echo "project1/" > .git/info/sparse-checkout git checkout -- cd .. ln -s company/project1 ./