我们的项目中有子模块。以下是我们当前更新这些子模块的工作流程
git pull
git pull --recurse-submodules
git submodule update --init --recursive
当git pull为我们工作时,是否有必要git pull --recurse-submodules
?
在拉动(执行git pull)和执行git clone之后,更新子模块(到主项目知道的版本)的正确方法是什么。
答案 0 :(得分:0)
除非您更改了配置,否则无需致电git pull --recurse-submodules
。来自the docs:
<强> fetch.recurseSubmodules 强>
当设置为 on-demand (默认值)时,fetch和pull将仅在其超级项目检索更新子模块引用的提交时递归到填充的子模块中。
您仍然需要在git submodule update
之后致电pull
。 --init
仅在有新的子模块时才需要,但每次运行都不会受到影响。同样,仅当您的子模块具有自己的子模块时才需要--recursive
,但也不会造成伤害。