我有一个依赖于许多其他组件的库。我已经设置了主项目,然后使用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内部存储了模块,但是没有将它们添加到文件系统中。
这种情况的最佳做法是什么?
答案 0 :(得分:1)
你错过了
git submodule init
克隆中的(在成功运行git submodule update
之前)
答案 1 :(得分:1)
克隆后,您需要:
git submodule init
git submodule update
OR
克隆主仓库并同时获取子模块:
git clone --recursive URL