子模块不与Git

时间:2015-05-21 21:09:19

标签: git git-submodules

我有一个依赖于许多其他组件的库。我已经设置了主项目,然后使用git submodule add [url] [path]添加了一些子模块。

原始项目运作正常。每次添加子模块时,都会将其克隆到正确的目录中。

- Main project
-- Sub project [cloned correctly]

之后我将原始项目推送到git。现在,当我克隆主项目时,子项目目录会出现,但它们是空的。

- Main project
-- Sub project just empty folder

.gitmodules已正确填充,但在新克隆的主项目中,.git / modules文件夹为空。

没有像git submodule sync或git submodule update这样的命令。但是,如果我手动重新添加模块,它们就会出现在目录中,而不必重新下载。它说:

Reactivating local git directory for submodule

这几乎就像git内部存储了模块,但是没有将它们添加到文件系统中。

这种情况的最佳做法是什么?

2 个答案:

答案 0 :(得分:1)

你错过了

git submodule init
克隆中的

(在成功运行git submodule update之前)

答案 1 :(得分:1)

克隆后,您需要:

git submodule init 
git submodule update

OR

克隆主仓库并同时获取子模块:

git clone --recursive URL