`git submodule init&&和git submodule update`和`git submodule update --init`?

时间:2015-04-30 15:09:49

标签: git

之间有什么区别吗?

git submodule init && git submodule update --recursive

git submodule update --init --recursive

如果是,那么确切的区别是什么?

谢谢!

1 个答案:

答案 0 :(得分:2)

简短回答

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

答案很长

git submodule init在本地Git配置(.git/config)中注册每个子模块。在那里,您可以指定Git应该克隆子模块的位置。

这意味着您可以先使用git submodule init在本地配置中注册子模块,然后编辑.git/config以更改子模块存储库的默认克隆源URL,然后执行{{1 }}

如果您不想更改子模块源位置,只需运行git submodule update

引用手册页:

  

<强>初始化
    初始化子模块,即git submodule update --init中的每个子模块名称和网址注册到.gitmodules 。 [...]然后,您可以在.git/config中为您的本地设置自定义子模块克隆URL              继续.git/config;如果您不打算自定义任何子模块位置,如果没有显式初始化步骤,您也可以只git submodule update