如何将旧提交部署到Heroku

时间:2013-09-29 20:45:38

标签: ruby-on-rails git heroku

我们第一次尝试将一个大型Rails项目部署到Heroku,但是在Heroku编译过程中出现了一些问题,我们有no way of knowing what

所以现在我们要计划B,这是为了走向提交链并测试部署Heroku的每一步,直到我们弄清楚它在哪一点变得不可编译。 (是的,这是我现在能想到的最好的。)

所以我想我只是在本地克隆项目,检查一些旧的提交,并推送到heroku。但后来我发现,如果我从除了主人之外的任何东西推送到heroku,它不构建应用程序?相反它说:“推向非主分支,跳过构建。”

所以现在,即使我的糟糕计划也不是首发。我只是想在这里休息一下。关于如何做我想做的事情的任何想法?

3 个答案:

答案 0 :(得分:15)

如果您从主人推送,那么Heroku只会构建,而Heroku只会在您将推送到主人时构建。如果你这样做

git push heroku

然后你可能会将你的本地分支推送到Heroku上具有相同名称的分支(确切的默认行为是可配置的)。您可以使用

从其他本地分支推送到Heroku master
git push heroku my_local_branch:master

或者,如果您已经在my_local_branch签出,则可以使用

git push heroku HEAD:master

请参阅documentation for git push - 最后的示例可能会有所帮助。

您可能还需要使用-f来强制推送:

git push -f heroku my_local_branch:master

答案 1 :(得分:13)

使用heroku实现所需的结果要容易得多,而不是检查代码并推送它的多步git过程。这可以保持你的git历史清洁。

$ heroku releases
$ heroku rollback v11

答案 2 :(得分:0)

如果你想将某个提交推送到 heroku,可以这样做:

git push heroku 5ad0f3d913f2a92cc095af9c7b6242263da58160:master

只需将 5ad0f3d913f2a92cc095af9c7b6242263da58160 替换为您想要的提交。

来源:https://stackoverflow.com/a/3230241/5783745