16

我们第一次尝试将一个大型 Rails 项目部署到 Heroku,但在 Heroku 编译过程中出现了问题,我们无法知道是什么.

所以现在我们要计划 B,即沿着提交链向上走,并针对 Heroku 测试部署每一步,直到我们弄清楚它在什么时候变得不可编译。(是的,这是我目前能想到的最好的方法。)

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

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

4

3 回答 3

16

并不是说 Heroku 只有在你master 推送时才会构建,而是 Heroku 只有在你推送到master 时才会构建。如果你只是这样做

git push heroku

那么您可能会将本地分支推送到 Heroku 上具有相同名称的分支(确切的默认行为是可配置的)。你可以从不同的本地分支推送到 Heroku master

git push heroku my_local_branch:master

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

git push heroku HEAD:master

请参阅文档git push——最后的示例可能会有所帮助。

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

git push -f heroku my_local_branch:master
于 2013-09-29T21:16:35.777 回答
16

使用 heroku 而不是签入代码并推送它的多步 git 过程更容易实现所需的结果。这可以让你的 git 历史保持干净。

$ heroku releases
$ heroku rollback v11
于 2014-12-17T16:07:02.177 回答
5

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

git push heroku 5ad0f3d913f2a92cc095af9c7b6242263da58160:master

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

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

于 2021-05-01T06:15:55.423 回答