我有许多项目的通用子模块,旨在构建在许多不同的平台上。由于我维护了来自不同平台的核心逻辑和接口的代码,因此每个子模块都要跟踪,并且针对所有平台构建代码,如下所示:
lib/core_logic_module/lib/
platform_1
platform_2
...
platform_X
当处理需要特定平台的项目时,实际拥有特定于平台的模块是非常好的,因此可以根据需要检查更改,而不是不需要的更改。做一个旧的git submodule update --init --recursive
平面克隆所有子模块及其特定的依赖关系,这使得使用grep
,ctags
和find
变得很痛苦,因为平台都有类似的硬件抽象文件。
初始化子模块时是否有一种简单的方法来指定我只需要一个模块?
答案 0 :(得分:1)
您可以使用git submodule update
的一个或多个路径
从documentation开始,您可以这样做:
git submodule update --init --recursive <path>...
有关<path>...
的一些其他详细信息:
子模块的路径。指定时,这将限制命令仅对指定路径上找到的子模块进行操作。 (添加时需要此参数。)