Heroku为什么认为一切都是最新的?

时间:2012-11-26 22:32:28

标签: git heroku

在Heroku上我有一个制作应用程序,我知道有一个临时应用程序:

$ heroku list
=== My Apps
testivate
testivate-staging

我有每个遥控器:

$ git remote -v
heroku  git@heroku.com:testivate.git (fetch)
heroku  git@heroku.com:testivate.git (push)
staging git@heroku.com:testivate-staging.git (fetch)
staging git@heroku.com:testivate-staging.git (push)

我走了几天,部署破坏了我的生产应用程序,所以我使用heroku rollback,最终创建了我现在正在使用的暂存应用程序,并将我的代码推送到暂存应用程序,大概是{{1} }。 (这是几天前,但我很确定这就是我所做的。)

现在我的暂存应用程序正在运行,所以我正在尝试将我的代码推送到我的生产应用程序。

然而,Heroku一直告诉我,我的制作应用程序已经是最新的:

git push staging master

我知道Heroku是错误的,因为我的视图有一些明显的变化,您可以在我的本地代码和登台服务器上看到,但不能在我的实时制作应用程序中看到。

例如,比较我的暂存应用中正确here的“后退”链接,而不是生产应用中的here

如何让Heroku按我的意愿更新我的制作应用程序?

谢谢,

史蒂芬。

2 个答案:

答案 0 :(得分:16)

你确定你指的是正确的分支吗?这是实际命令的语法:

git push heroku <the branch you wish to push>:<the branch on the heroku server you wish to push to>

所以,如果你习惯了

git push heroku master

并且您签出并提交除主人以外的分支,运行git push heroku master将推送未更改的分支。相反,运行

git push heroku the_branch_i_changed:master

答案 1 :(得分:0)

以下是我如何使用相同的结果(特定于Ruby on Rails)犯了一个不同的错误:

我的本​​地网站显示了我的新徽标图片,heroku网站显示了旧徽标图片。尽管如此,我仍然看到了这样的信息:&#34;什么都没有提交(工作目录清理)&#34;。

在推送之前我忘了重新编译资产:

rake assets:precompile

希望节省别人浪费的时间!