`git submodule init && git submodule update` 和 `git submodule update --init` 的区别是什么?

5
有什么区别吗? git submodule init && git submodule update --recursivegit submodule update --init --recursive 有什么不同?
如果有的话,具体区别是什么?
谢谢!
1个回答

4

简短回答

没有区别git submodule init && git submodule update --recursivegit submodule update --init --recursive 在功能上是完全相同的。

详细解释

git submodule init 会将每个子模块注册到本地 Git 配置文件(即 .git/config 文件)中。在此文件中,您可以指定 Git 从哪里克隆子模块。

这意味着您可以首先使用 git submodule init 将子模块注册到本地配置文件中,然后编辑 .git/config 更改子模块仓库的默认克隆源 URL,最后执行 git submodule update

如果您不想更改子模块的源位置,则可以直接运行 git submodule update --init

引用官方文档:

init
初始化子模块,即将每个子模块的名称和 URL 注册到 .git/config 中,[...] 您可以在 .git/config 中自定义子模块的克隆 URL,然后进行 git submodule update;如果您不打算自定义任何子模块位置,则也可以只使用 git submodule update --init,而无需显式初始化。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接