从GitHub克隆项目后拉git子模块

我有一个项目,其中有指定的子模块。在开发机器上一切工作正常。我已经提交了.gitmodules文件并启动了生产。但是它并没有拉出子模块。

如果我进入子模块目录并调用git pull,什么都不会发生。

在新项目中拉这些子模块的正确方法是什么?

107721 次浏览

如果您需要将子模块的内容拉入子模块存储库,请使用

git pull --recurse-submodules

但是这将不会检出子模块中的正确提交(您的主存储库指向的那些)

要在子模块中检出正确的提交,您应该在使用后更新它们

git submodule update --recursive

从根目录下的repo运行即可:

git submodule update --init

如果有嵌套的子模块,你将需要使用:

git submodule update --init --recursive

我只是想分享这些。

第一个方法,

git submodule init && git submodule update

下面是第一种方法的基本结合,

git submodule update --init

如果有任何嵌套的子模块,Iglesk的回答是可行的方法。