我正在构建一个我也在Heroku中测试的应用程序。我今天遇到了一些问题并且不得不在我当地的git repo中回滚一个提交,但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
答案 0 :(得分:50)
听起来很奇怪。也许尝试推动不同的分支会做什么?
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
我希望您测试创建新的生产分支。此外,拥有一个可用于部署的生产分支是件好事。
如果它不起作用,那么我认为问题会更深入,你需要来自heroku的帮助。
编辑:
添加 heroku版本插件。回滚就像heroku rollback
答案 1 :(得分:44)
这并不适用于所有情况,但如果您的本地仓库与Heroku仓库不同,那么git无法弄清楚如何协调两者 - 就像您在推送到本地分支后重新定位本地分支一样Heroku - 您可以通过在ref之前加一个加号+来强制推送,如下所示:
git push heroku +master
它可能不适用于您的情况,但值得一试。
答案 2 :(得分:19)
这对我有用(来自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存储库提供种子并重新部署您的应用程序。
答案 3 :(得分:8)
假设您回滚了一个远程执行的提交,以前存在。我想你应该做:
git merge heroku/master
如果你只是想继续前进
或:
git push --force heroku master
如果你想推动这一改变
答案 4 :(得分:4)
我曾遇到类似的问题并通过更改代码中的一个字符并再次运行git add / commit / push来解决它。我想你已经尝试过了。
不要破坏应用程序,只需在CSS文件或其他内容中添加注释,看看是否可以解决这个问题
祝你好运答案 5 :(得分:3)
我有同样的问题并通过
解决了Git push origin HEAD:master
为你
Git push heroku HEAD:master
答案 6 :(得分:0)
过了一会儿,我开始使用像这样的deploy.rake
这样的rake任务它将标准化并加速部署,尤其是在实施迁移时
puts `git push -f git@heroku.com:#{APP}.git #{current_branch}`
如您所见,选项 - 强制(或 -f )用于任何推送,以便忽略与heroku的git repo的任何冲突
但我不建议新人使用:)
答案 7 :(得分:0)
我有同样的问题,我尝试了所有的建议并没有帮助。我必须在本地运行资源预编译并推送,即使我做了heroku run rake assets:precompile
。
rake assets:precompile
git add .
git commit -am "local assets precompile"
git push heroku master
答案 8 :(得分:-1)
当您上传引导的新版本(slug)时,您的heroku应用程序将自动重置。如果以某种方式更改您的app,使其无法启动,您的应用dynos将继续运行旧版本。
换句话说,当您部署应用程序时,它会将slug(新源代码)加载到新的dyno中,如果dyno正确加载应用程序,它将使该dyno替换运行应用程序的当前dynos。 / p>
这可能是你没有看到任何变化的问题......
如果您有git push heroku
的日志,请发布。
编辑:
git reset
处理git索引,而不是工作树或当前分支。
你必须检查你重置的提交以实际更改文件 - 这与heroku如何交互,我不太确定(从未将部署回到heroku,手指交叉),但希望它有所帮助。也许在结帐后尝试git push heroku
?