如何将子模块添加到 github 存储库

How to add sub-modules to github repository

你好,我正在寻找一种方法将我的子模块添加到我的 github 存储库中,例如

iris

https://github.com/kataras/iris

我试过了

git add *
git add .

然后提交并推送但文件夹保持为空(灰色)

我想添加这些子模块的原因是因为我想在 heroku 上部署我的应用程序。

但是由于子模块没有上传到我的 github 存储库中,我无法部署我的 heroku 应用程序,因为我的 github 存储库中缺少它们。

任何关于如何将这些子模块添加到我的 repo 的想法都将不胜感激。

添加子模块的命令是

git submodule add <your another repo url>

参考git-submodule

如果您添加嵌套的 git 存储库,您将得到一个灰色文件夹 (gitlink),但无法检索其内容。

您需要:

  • 确保嵌套的 git 存储库中没有未决的更改(所有内容都已提交并推送到嵌套的存储库远程 url)
  • git rm --cached nested_repo_root_folder(没有尾部斜杠)
  • 完全删除嵌套的 repo 根文件夹及其内容

然后,您可以将该嵌套回购添加回 full-fledged submodule:

git submodule add -- /url/nested/repo

您真的确定需要为您的用例使用 git 子模块吗?我建议您改为考虑 git subtree。根据将两者与部署到 Heroku 的回购结合使用的经验,我可以告诉你 git 子树更容易长期使用。