如何正确更新子模块

时间:2015-11-16 18:54:32

标签: git git-submodules

我们的项目中有子模块。以下是我们当前更新这些子模块的工作流程

git pull
git pull --recurse-submodules
git submodule update --init --recursive

当git pull为我们工作时,是否有必要git pull --recurse-submodules

在拉动(执行git pull)和执行git clone之后,更新子模块(到主项目知道的版本)的正确方法是什么。

1 个答案:

答案 0 :(得分:0)

除非您更改了配置,否则无需致电git pull --recurse-submodules。来自the docs

  

<强> fetch.recurseSubmodules

     

当设置为 on-demand (默认值)时,fetch和pull将仅在其超级项目检索更新子模块引用的提交时递归到填充的子模块中。

您仍然需要在git submodule update之后致电pull--init仅在有新的子模块时才需要,但每次运行都不会受到影响。同样,仅当您的子模块具有自己的子模块时才需要--recursive,但也不会造成伤害。