如何将子模块添加到GitHub仓库

5

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

iris

https://github.com/kataras/iris

我尝试过:

git add *
git add .

然后提交和推送,但文件夹仍然为空(灰色)。

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

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

有没有任何想法如何将这些子模块添加到我的存储库中,将不胜感激。


你看过官方的 https://git-scm.com/docs/git-submodule 吗? - bhantol
3个回答

8
添加子模块的命令是:
git submodule add <your another repo url>

请参考 git-submodule

2

您确定需要在您的用例中使用git子模块吗?我建议您考虑使用git子树。通过使用这两种方式并将其部署到Heroku,从经验来看,我可以告诉您,长期而言,git子树要容易得多。


1
如果您添加了一个嵌套的git仓库,您将会得到一个灰色的文件夹(gitlink),但无法检索其内容。
您需要执行以下操作:
  • 确保该嵌套的git仓库中没有未决更改(所有更改都已提交并推送到嵌套仓库的远程URL)
  • git rm --cached nested_repo_root_folder (没有尾随斜杠)
  • 完全删除嵌套仓库的根文件夹及其内容
然后,您可以将该嵌套仓库作为完整的子模块重新添加。
git submodule add -- /url/nested/repo

@Yoni Rabinovitch,您能解释一下为什么长期使用Git子树更容易操作吗? - Justin San Juan

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接