“github”和“git heroku”同时保存的简单方法
Posted
技术标签:
【中文标题】“github”和“git heroku”同时保存的简单方法【英文标题】:"github" and "git heroku" easy way to keep both 【发布时间】:2012-12-13 08:27:33 【问题描述】:直到现在我都使用 svn 作为源代码控制。这时候我已经开始了一个新项目,它存储在 gitHub 上。
问题是 Heroku 和 GitHub 都使用 git。第一个用于发布应用,第二个用于版本控制。
我的应用架构是:
base-dir <--github base
some-text-files (Readme, ... )
django-project-dir <--heroku base
manage.py
main-app-dir
settings.py
other-app-dirs
views.py
models.py
当我推送到 gitHub base-dir 并推送所有子文件夹时。
只有 django-project-dir 应该被推送到 Heroku。
注意:我尝试在 django-project-dir 级别创建一个新的 git 存储库,但 git 将其作为子模块并从 gitHub 中排除。
因为这是一个新项目,我可以轻松更改为另一个架构目录。
我的问题:
Heroku 和 GitHub git 配置共存的简单方法是什么?
【问题讨论】:
您不希望自述文件和其他文件位于应用根目录中的任何特殊原因? 一开始我认为这种文件(例如文档)不需要推送到heroku。正如我在回答中解释的那样,我可以更改架构目录以获得更轻松的共存。 在这种情况下,只需将这些文件保存在项目的根目录中并为 GitHub 添加第二个远程。 好的,作为答案发布,我会接受。与@kevinSylvestre 的解决方案相同,但您已在 4 分钟前提出建议。 已发布。如果答案需要任何澄清,请告诉我。 【参考方案1】:你应该有两个遥控器。
这很好,甚至是可取的。
你有 github,那是你的远程代码记录库。
然后你有一个通过 heroku 的当前部署,这是第二个远程。
Heroku 实际上被设置为使用 git 作为将更改推送到您的网站的系统的一部分。
【讨论】:
【参考方案2】:最好的办法是将自述文件和其他文件移至项目根目录。然后只需将 GitHub 添加为单独的远程(当您在项目目录中时)。
git remote add origin https://github.com/USERNAME/REPO
然后你可以使用git push origin master
推送到 GitHub。假设您要推送过去专门用于 Heroku 的存储库,那么您将不得不在第一次推送时进行强制推送(-f
选项)。
您仍然可以使用 git push heroku master
推送到 Heroku。
【讨论】:
【参考方案3】:您最好的选择可能是将完整的存储库推送到 Heroku,但请确保 Heroku 忽略运行您的应用程序不需要的所有文件(请参阅https://devcenter.heroku.com/articles/slug-compiler)。或者,考虑创建两个存储库(一个用于文档,一个用于生产代码)。
【讨论】:
+1。这会简化共存吗?我知道 .git/config 文件将存储这两个配置?以上是关于“github”和“git heroku”同时保存的简单方法的主要内容,如果未能解决你的问题,请参考以下文章
Git/Heroku - 如何隐藏我的 SECRET_KEY?