Ruby on Rails 3 - 如何重置 Heroku 应用程序并重新提交所有内容



我正在构建一个应用程序,我也在 Heroku 中进行测试。我今天遇到了一些问题,不得不在我的本地 git 存储库中回滚一个提交,但 Heroku 现在不会识别我的更改,说"一切都是最新的"。

所以,跑步

git push heroku master

希罗库回应

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

创建新的生产分支是我希望您测试的内容。此外,拥有一个可用于部署的生产分支真是太好了。

如果它不起作用,那么我认为问题更深,您需要 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 推送源头:主

给你的

Git push heroku HEAD:Master

过了一会儿,我想到使用像这样的耙子任务 deploy.rake

它将标准化并加快部署,尤其是在应实施迁移时

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

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

但我不建议新人使用它:)

我遇到了同样的问题,我尝试了所有建议,但没有帮助。我必须在本地运行资产预编译并推送,即使我heroku run rake assets:precompile.

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

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

换句话说,当您部署应用程序时,它会将 slug(新源代码)加载到新的测功机中,如果测功机正确加载应用程序,它将让该测功机替换当前运行您的应用程序的测功机。

这可能是您看不到任何变化的问题......

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

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

您必须让他们签出您重置的提交才能实际更改文件——这如何与 heroku 交互,我不太确定(从未回滚到 heroku 的部署,手指交叉),但希望它有所帮助。 也许尝试在结账后做一个git push heroku

相关内容

  • 没有找到相关文章

最新更新