Heroku には、'master' 以外のすべてのブランチを無視するポリシーがあります。
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 など) を持つことも非常に良い考えです。その 1 つを「オリジン」と呼び、Heroku に「heroku」を使用して、「git push」が常にすべてをオリジンにバックアップし、「git push heroku」が現在のブランチを Heroku のマスター ブランチにプッシュして上書きするようにします。必要であれば。
これは機能しますか?
【リモート「ヒロク」】 URL = git@heroku.com:my-app.git プッシュ = +refs/heads/*:refs/heads/master
Heroku でダミーのアプリを作成して実験することもできると思いますが、実験を始める前に、より経験豊富な人から話を聞きたいと思います。
フェッチに関しては、Heroku リポジトリが書き込み専用かどうかはあまり気にしません。すべての作業のバックアップとクローンを作成するために、GitHub などの別のリポジトリがまだあります。
脚注: この質問は、Heroku でブランチ戦略を使用した Good Git の展開と似ていますが、まったく同じではありませんか?