異なるローカル Git ブランチを Heroku/master にプッシュする方法 質問する

異なるローカル Git ブランチを Heroku/master にプッシュする方法 質問する

Heroku には、「master」以外のすべてのブランチを無視するポリシーがあります。

Heroku の設計者がこのポリシーを採用したのは当然のことですが (ストレージとパフォーマンスの最適化のためだと思います)、開発者としての私にとっては、どのローカル トピック ブランチで作業していても、Heroku のマスターをそのローカル トピック ブランチに簡単に切り替えて、「git push heroku -f」を実行して Heroku のマスターを上書きできる方法が欲しいと思うのです。

「Refspecsのプッシュ」のセクションを読んで私が得たものはhttp://progit.org/book/ch9-5.html

git push -f heroku ローカルトピックブランチ:refs/heads/master

私が本当に欲しいのは、これを構成ファイルで設定して、「git push heroku」が常に上記のように実行し、local-topic-branch を現在のブランチの名前に置き換える方法です。これを実現する方法をご存知の方がいらっしゃいましたら、ぜひ教えてください。

もちろん、この方法の注意点は、Heroku アプリ/リポジトリにプッシュできるのが自分だけである場合にのみ意味があるということです。テスト チームや QA チームは、さまざまな候補ブランチを試すためにこのようなリポジトリを管理するかもしれませんが、特定の日にプッシュするブランチについて全員が同意できるように調整する必要があります。

言うまでもなく、すべてをバックアップするためのこの制限のない別のリモート リポジトリ (GitHub など) を用意することも非常に良いアイデアです。そのリポジトリを「origin」と呼び、Heroku には「heroku」を使用します。こうすると、「git push」では常にすべてを origin にバックアップし、「git push heroku」で、現在いるブランチを Heroku のマスター ブランチにプッシュし、必要に応じて上書きします。

これはうまくいくでしょうか?

[リモート「heroku」]
    url =[メールアドレス]:my-app.git
    プッシュ = +refs/heads/*:refs/heads/master

実験を始める前に、より経験豊富な人の意見を聞きたいのですが、Heroku でダミー アプリを作成して実験することもできると思います。

フェッチに関しては、Heroku リポジトリが書き込み専用であるかどうかは、あまり気にしません。すべての作業のバックアップとクローン作成のために、GitHub などの別のリポジトリを用意しています。

脚注: この質問は、次の質問と似ていますが、まったく同じではありません。Heroku でブランチ戦略を使用した適切な Git デプロイメントですか?

ベストアンサー1

おすすめ記事