2014-06-05 83 views

回答

27
git submodule update --init --recursive 

子模块(如果需要)update命令将递归到注册子模块,更新和init和它们中的任何嵌套子模块。

git submodule foreach --recursive git submodule update --init 

foreach将评估在每个命令签出子模块。因此,它将更新并初始化(如果需要)每个子模块和任何嵌套子模块,由于--recursive

所以最后,两个命令都会达到同样的效果。 只是执行不同,第一个命令不会进入每个目录来执行命令。

+3

如何用递归更新单个子模块? – malhal

+1

@malhal cd进入子模块,然后执行上述命令 – jsears

+0

是否可以远程更新子模块并定期更新其子模块,而不必cd进入子目录?如果你递归地远程更新,那么你会得到子需要的子版本。另外,如果你在答案中使用命令,那么你不会得到更新版本的子可能我应该发布一个新的问题。 – malhal