如何将旧提交部署到 Heroku



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

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

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

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

使用 heroku 实现预期结果要容易得多,而不是签入代码并推送代码的多步骤 git 过程。这样可以保持您的 git 历史记录干净。

$ heroku releases
$ heroku rollback v11

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

git push heroku

那么你可能会将你的本地分支推送到 Heroku 上同名的分支(确切的默认行为是可配置的)。您可以使用 从不同的本地分支推送到 Heroku 主节点

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

如果你想将某个提交推送到 heroku,它是这样完成的:

git push heroku 5ad0f3d913f2a92cc095af9c7b6242263da58160:master

只需将5ad0f3d913f2a92cc095af9c7b6242263da58160替换为所需的提交即可。

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

最新更新