所以假设我有两个存储库,其中有特定的模块(或子目录),如下所示:

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

(回购协议相同)

09-04 19:39