如何将子模块添加到 github 存储库
Posted
技术标签:
【中文标题】如何将子模块添加到 github 存储库【英文标题】:How to add sub-modules to github repository 【发布时间】:2017-04-06 19:34:43 【问题描述】:您好,例如,我正在寻找一种将子模块添加到我的 github 存储库的方法
虹膜
https://github.com/kataras/iris
我试过了
git add *
git add .
然后提交并推送,但文件夹保持为空(灰色)
我想添加这些子模块的原因是因为我想在heroku上部署我的应用程序。
但是由于子模块没有上传到我的 github 存储库中,我无法部署我的 heroku 应用程序,因为它从我的 github 存储库中丢失了它们。
任何关于如何将这些子模块添加到我的仓库的想法将不胜感激。
【问题讨论】:
你看过官方git-scm.com/docs/git-submodule 【参考方案1】:添加子模块的命令是
git submodule add <your another repo url>
参考git-submodule
【讨论】:
【参考方案2】:如果你添加一个嵌套的 git repo,你会得到一个灰色的文件夹(gitlink)而无法检索到它的内容。
你需要:
确保该嵌套 git 存储库中没有待处理的更改(所有内容都已提交并推送到嵌套存储库远程 url)git rm --cached nested_repo_root_folder
(没有斜线)
完全删除嵌套的 repo 根文件夹及其内容
然后,您可以将该嵌套存储库添加回 full-fledged submodule:
git submodule add -- /url/nested/repo
【讨论】:
@Yoni Rabinovitch,你有解释为什么 git subtree 从长远来看更容易使用吗?【参考方案3】:你确定你的用例需要使用 git submodule 吗?我建议您改为考虑git subtree。根据将两者与部署到 Heroku 的 repos 结合使用的经验,我可以告诉你 git subtree 更容易长期使用。
【讨论】:
以上是关于如何将子模块添加到 github 存储库的主要内容,如果未能解决你的问题,请参考以下文章