如何重置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 ):
- 运行
heroku plugins:install https://github.com/lstoll/heroku-repo.git
-
heroku repo:reset -a APPNAME
从那里,git仓库已被“重置”。 接下来运行:
-
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
?