如何将旧提交部署到Heroku

Yar*_*rin 13 git ruby-on-rails heroku

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

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

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

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

mat*_*att 15

这不,如果你推送的Heroku只有建立主,而如果你把Heroku上只建主.如果你这样做

git push heroku
Run Code Online (Sandbox Code Playgroud)

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

git push heroku my_local_branch:master
Run Code Online (Sandbox Code Playgroud)

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

git push heroku HEAD:master
Run Code Online (Sandbox Code Playgroud)

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

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

git push -f heroku my_local_branch:master
Run Code Online (Sandbox Code Playgroud)


Ric*_*cky 14

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

$ heroku releases
$ heroku rollback v11
Run Code Online (Sandbox Code Playgroud)

  • 我认为问题是,如何部署之前从未被推送到heroku远程的提交.您正在提供有关如何回滚到已部署到Heroku的提交的解决方案 (2认同)

use*_*745 6

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

git push heroku 5ad0f3d913f2a92cc095af9c7b6242263da58160:master
Run Code Online (Sandbox Code Playgroud)

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

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