如何有选择地更新git子模块层次结构?

时间:2018-08-04 11:22:04

标签: git

我有一个包含git子模块的存储库,例如pthread-win32。当我在Linux上运行git submodule update --recursive --init时,所有子模块都会无条件更新。即使子模块pthread-win32也被不必要地克隆。

我只想克隆任何特定本地平台所需的子模块。

是否有一种方法可以告诉git根据某些条件(例如本地平台的名称)递归更新哪些子模块?

1 个答案:

答案 0 :(得分:3)

get(),您可以提供要更新的特定子模块的路径作为参数:

man git submodule

如果模块数量很少,则可以多次使用上述命令。 否则,作为一种解决方法,您可以将所有选定的子模块放入一个目录,并按如下所示使用通配符-

git submodule update --init --recursive path/to/submodule/dir/