Herokuに非マスターGitブランチを実行させる


182

Herokuでホストされているプロジェクトがあり、代替のテストサーバーを作成するところまでたどり着きました(そのため、プロダクションを台無しにすることなくHerokuワーカーをテストできます)。

トランクを実行するメインのHerokuリモートと、代替ブランチを実行したいHeroku-devリモートをすでにセットアップしています。

私の問題は、私の代替ブランチがマスターではないため、Herokuがそれをビルドしないことです。

$ git push heroku-dev test
counting objects ...
...
Pushed to non-master branch, skipping build.
To git@heroku.com:example-dev.git
* [new branch]      test -> test

このビルドをマスターに切り替えることは、現時点ではオプションではありません。明らかに1つのオプションは、私のテストブランチのクローンであるまったく新しいgitリポジトリを作成することですが、これはあまり理想的ではありません。

回答:


361

Gitを使用して、代替ブランチをHerokuにプッシュできます。

git push heroku-dev test:master

これにより、ローカルのテストブランチがリモートの(Herokuの)マスターブランチにプッシュされます。


12
確かに-それはあまりにも文書化されています:devcenter.heroku.com/articles/...
ジョン・マウントジョイ

50
また、マスターに戻る準備ができたら、次のことを行う必要がありますgit push -f heroku master:master
ブライアンアームストロング

5
Herokuで非マスターブランチを使用してデプロイし、Heroku masterを後のプロモーションのために元の状態に保つ方法はありますか?
Eric Walker

3
いいえ、Herokuは常にを使用しmasterます。あなたのユースケースは何ですか?
jordelver 2014

5
@SDP私がHerokuデバッグのために過去に行ったことは、何かをコミットしてそれをHerokuにプッシュし、次に(それが機能しない場合)何かを試し、それを(でgit commit --amend)コミットし、それをHerokuにプッシュする(-fフラグを使用)修正されるまで繰り返します。それが修正されたら、ファイナル--amendが賢明なメッセージを含む素敵なクリーンコミットであることを確認してから、次の作業に進みます。そうすれば、複数回のコミットをせずに1日中テストすることができます。それはきれいではありませんが、それは仕事を成し遂げます:)
Simon

3

私の場合、デフォルトまたはベースブランチは開発でしたので、私は使用しました:

          git push heroku develop:master 

0

git push heroku-dev test:masterが機能しない場合は、git push heroku test:masterを試してください。「test:master」の「test」は、現在の新しいブランチの名前です。


-1

非マスターブランチをプッシュする前に、まずリモートブランチをプルする必要があります。

ローカルリポジトリで次のコマンドを実行します

git pull https://heroku:YOUR_HEROKU_API_KEY@git.heroku.com/YOUR_APP_NAME.git
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.