2013-04-08 5 views
6

は、私はHerokuののマスターにそれをプッシュ(それはそれはあなたのウェブサイトのために使用する唯一の支店だから)、つまり私は、機能ブランチを試してみます。今、私は戻ってHerokuのに出て、私のローカルマスタをプッシュしたいのですが、取得しています:確かにHerokuののマスターは、私の機能-fooの枝の上に実際にあるので、先にマスターのであるからフィーチャーブランチを既にプッシュしているときにローカルマスターブランチをヘロクにプッシュするにはどうすればいいですか?</p> <pre><code>git push heroku feature-foo:master </code></pre> <p>一方で、私は私の地元のマスターブランチにいくつかのコミットをした:

To [email protected]:foo-repo.git 
! [rejected]  master -> master (non-fast-forward) 
error: failed to push some refs to '[email protected]: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ブランチをマージするのと同じだからです。今は、フィーチャーfooコミットなしで自分のローカルマスターをプッシュしたいだけです。 (実際にはheroku rollbackを使用しているので、フィーチャfooの変更はサイトには反映されません)

どうすればよいですか?

答えて

16

答えは簡単です。強制プッシュを行い、すなわち

git push -f heroku master 
+2

はい、明らかになっているように、gitは展開のための特に優れたツールではありません。 gitでherokuにデプロイするには、本当にgit repoでやりたいことをしたくないことがよくあります。 – Fitzsimmons

0

また、あなたが非マスターブランチをオフにプッシュする前から、以前のビルドにあなたのサイトHerokuのダッシュボードやロールバックに行くことができます。

訪問したらそこにあなたが表示されるはずですdashboard.heroku.com/apps/your-app-goes-here/activity

:ビルドの

enter image description here クリックRoll back to hereあなたは戻って行きたいと思います。正しいビルドにロールバックしたら、強制を使わなくてもマスターからプッシュできます。

関連する問題

 関連する問題