在git中初始化一个Select子模块而不是所有这些子模块

时间:2016-12-28 19:53:27

标签: git git-submodules

我有许多项目的通用子模块,旨在构建在许多不同的平台上。由于我维护了来自不同平台的核心逻辑和接口的代码,因此每个子模块都要跟踪,并且针对所有平台构建代码,如下所示:

lib/core_logic_module/lib/
                         platform_1
                         platform_2
                         ...
                         platform_X

当处理需要特定平台的项目时,实际拥有特定于平台的模块是非常好的,因此可以根据需要检查更改,而不是不需要的更改。做一个旧的git submodule update --init --recursive平面克隆所有子模块及其特定的依赖关系,这使得使用grepctagsfind变得很痛苦,因为平台都有类似的硬件抽象文件。

初始化子模块时是否有一种简单的方法来指定我只需要一个模块?

1 个答案:

答案 0 :(得分:1)

您可以使用git submodule update的一个或多个路径 从documentation开始,您可以这样做:

git submodule update --init --recursive <path>...

有关<path>...的一些其他详细信息:

  

子模块的路径。指定时,这将限制命令仅对指定路径上找到的子模块进行操作。 (添加时需要此参数。)