Herokuには、「マスター」以外のすべてのブランチを無視するポリシーがあります。
Herokuのデザイナーがこのポリシーに優れた理由を持っていると確信していますが(私はストレージとパフォーマンスの最適化を推測しています)、開発者としての私にとっての結果は、私が取り組んでいるローカルトピックブランチに関係なく、簡単な方法が欲しいということです。 Herokuのマスターをそのローカルトピックブランチに切り替え、「git push heroku -f」を実行してHerokuのマスターを上書きします。
http://progit.org/book/ch9-5.htmlの「Pushing Refspecs」セクションを読んで得たものは
git push -f heroku local-topic-branch:refs / heads / master
私が本当に欲しいのは、「git push heroku」が常に上記を実行するように構成ファイルでこれを設定し、local-topic-branchを現在のブランチの名前に置き換えることです。誰かがそれを達成する方法を知っているなら、私に知らせてください!
もちろん、これに対する警告は、Herokuアプリ/リポジトリにプッシュできるのが私だけである場合にのみ、これが賢明であることです。テストまたはQAチームは、さまざまな候補ブランチを試すためにそのようなリポジトリを管理する場合がありますが、特定の日にどのブランチにプッシュするかについて全員が合意するように調整する必要があります。
言うまでもなく、すべてをバックアップするためのこの制限なしに、別のリモートリポジトリ(GitHubなど)を用意することも非常に良い考えです。これを「origin」と呼び、Herokuに「heroku」を使用するので、「git push」は常にすべてをoriginにバックアップし、「git push heroku」は現在開いているブランチをHerokuのマスターブランチにプッシュして上書きします。必要であれば。
これはうまくいくでしょうか?
【リモート「ヘロク」】 url = git@heroku.com:my-app.git プッシュ= + refs / heads / *:refs / heads / master
Herokuでダミーのアプリを作成して、それで実験することができると思いますが、実験を始める前に、より経験豊富な誰かから連絡をもらいたいです。
フェッチに関しては、Herokuリポジトリが書き込み専用かどうかは気にしません。すべての作業のバックアップとクローンを作成するために、GitHubなどの別のリポジトリがまだあります。
脚注:この質問は、Herokuでのブランチ戦略を使用したGood Gitデプロイメントと似ていますが、まったく同じではありませんか?