如何重置Heroku应用程序并重新提交一切?

我正在构build一个我也在Heroku中testing的应用程序。 我今天遇到了一些问题,不得不在我的本地git回购中回滚一个提交,但是Heroku现在不会识别我的更改,说“一切都是最新的”。

所以,跑步

git push heroku master 

heroku回应

 Everything up-to-date 

这是不正确的。

更新:我试过的东西

 git push -f heroku master git push --force heroku master git push heroku +master git push --force heroku +master 

在源代码中做了一些更改

 git add. git commit -a -m "Message" #(Then this commit shows in my git explorer) git push heroku master #Everything up-to-date 

听起来怪怪的。 也许尝试推一个不同的分支会做?

 git branch production git checkout production #do some code changes git commit -am "some desperate code changes to try fix heroku" git push heroku production:master 

创build一个新的生产分支是我希望你testing的。 此外,有一个可以用来部署的生产分支是很好的。

如果它不起作用,那么我认为这个问题更深入,你需要从heroku的帮助。

编辑:添加heroku发布插件了。 回滚就像heroku rollback一样简单

这在所有情况下都不起作用,但是如果你的本地回购已经脱离了Heroku的回购协议,git就无法弄清楚如何在推到Heroku之后重新分配你的本地分支,你可以通过在ref前面加一个加号来强制推送,如下所示:

 git push heroku +master 

它可能不适用于你的情况,但值得一试。

这工作对我来说(从https://coderwall.com/p/okrlzg ):

  1. 运行heroku plugins:install https://github.com/lstoll/heroku-repo.git
  2. heroku repo:reset -a APPNAME

从那里,git仓库已被“重置”。 接下来运行:

  1. git push heroku master -a APPNAME

种子git存储库并重新部署您的应用程序。

假设你回退了一个你以前曾经存在的远程提交。 我认为你应该:

 git merge heroku/master 

如果你只是想前进

要么:

 git push --force heroku master 

如果你想推动这一变化

我曾经有一个类似的问题,并通过更改我的代码中的一个字符并再次运行git add / commit / push来解决它。 我想你已经尝试过了。

不要打破应用程序,只需添加一个评论CSS文件或东西,看看是否有窍门

祝你好运

我有同样的问题,并通过解决

Git push origin HEAD:master

为你

Git push heroku HEAD:主人

过了一段时间,我想出了一个像deploy.rake这样的rake任务

这将规范和加快部署,特别是在实施移民时

 puts `git push -f git@heroku.com:#{APP}.git #{current_branch}` 

如您所见,选项–force (或-f )用于任何推送,以忽略与heroku的git repo的任何冲突

但我不推荐它为新手:)

我有同样的问题,我尝试了所有的build议,并没有帮助。 我不得不在本地运行资源预编译,并推送,即使我做了heroku run rake assets:precompile

 rake assets:precompile git add . git commit -am "local assets precompile" git push heroku master 

当您上传启动的新版本(slug)时,您的heroku应用程序将自动重置。 如果以不启动的方式更改应用程序,则应用程序dynos将继续运行旧版本。

换句话说,当你部署你的应用程序时,它会将slug(新的源代码)加载到一个新的dyno中,如果dyno正确加载应用程序,它将会把那个dynoreplace成运行你的应用程序的当前dynos。

这可能是你没有看到任何改变的问题…

如果你有来自git push heroku日志,请发布它们。

编辑: git reset处理的git索引,而不是工作树或当前分支。

你必须让他们签出你重置的提交文件来实际改变这些文件 – 这与heroku是如何相互作用的,我不太确定(从来没有把部署恢复到heroku,但是手指交叉),但是希望它有帮助。 也许尝试在您的结帐后做一个git push heroku