所以假设我有两个存储库,其中有特定的模块(或子目录),如下所示:
repo1/
/module1
/module2
/module3
repo2/
/module4
/module5
所以在我的测试服务器上,我像加载一样加载这些存储库,这是正常的,因为我得到了所有的代码。但是在客户机服务器上,假设我只需要他的项目模块,也就是说,是
repo2
,还有一个来自以前项目的模块是repo1
。有没有一种方法可以只从
repo1
克隆module1
然后如果我更新repo1
中的任何在module1
中更改的内容,当我为pull
执行repo1
时(只有部分repo被克隆),它会更新它?更新
所以在客户机服务器上会有两个这样的repo:
repo1/
/module1
repo2/
/module4
/module5
最佳答案
你可以做一个sparse checkout for each repos:
mkdir repo1
cd myrepo1
git init
git config core.sparseCheckout true
git remote add -f origin /url/of/repo1
echo module1/*> .git/info/sparse-checkout
git fetch
git checkout master
(回购协议相同)