当你已经推送了一个功能分支时,如何将本地主分支推送到Heroku?

时间:2013-04-08 16:29:50

标签: git heroku

为了尝试一个功能分支,我将它推送到Heroku的主人(因为那是它用于你网站的唯一分支),即我做了:

git push heroku feature-foo:master

与此同时,我向当地的主分公司做了一些提交。现在我想把我的本地主人推回Heroku,但我得到了:

To git@heroku.com:foo-repo.git
 ! [rejected]        master -> master (non-fast-forward)
error: failed to push some refs to 'git@heroku.com:foo-repo.git'
hint: Updates were rejected because the tip of your current branch is behind
hint: its remote counterpart. Merge the remote changes (e.g. 'git pull')
hint: before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details. 

这是有道理的,因为Heroku的主人确实在我的feature-foo分支上,因此领先于master。但是我不想从Heroku中提取和合并 - 因为这与合并我的feature-foo分支是一样的,我不想这样做。现在,我只想在没有feature-foo提交的情况下推送我的本地主人。 (事实上​​,我已经使用了heroku rollback,因此功能foo更改不会在网站上发布。)

我该怎么做?

2 个答案:

答案 0 :(得分:16)

答案结果很简单。做强迫推,即

git push -f heroku master

答案 1 :(得分:0)

您还可以在推送非主分支之前,转到您的站点heroku仪表板并回滚到之前的版本。

访问dashboard.heroku.com/apps/your-app-goes-here/activity

到那里你应该看到:

enter image description here 点击您要返回的构建内的Roll back to here。一旦你回滚到正确的构建,你就可以从主人那里推动而不必使用武力。