“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?

git,Heroku:预接收挂钩被拒绝

Git:Heroku 存储库或找不到对象:

Git Heroku Permission Denied Public Key(添加公钥后)

未能将一些参考资料推送到 git@heroku.com

Git / heroku梦魇似乎无法重置为之前的提交