興味深い問題があります。これに対する十分に単純な答えが見つからないようです。私は 3 つの追跡されたブランチを持っています: master, staging, production
. マスターは、私が遊んで変更をマージするメイン コードです。ステージングは、heroku ステージング サーバーのセットアップと同じであり、本番環境はステージングと同じケースです。
インターネットを読んだ後 (私のブックマークを豆の木の記事に置き忘れた)、変更に取り組む良い方法は、マスターから分岐し、定期的にコミットしながら大量の変更を行うことです。次に、この機能ブランチが master にマージされ、私の開発マシンでテストされます。
次に、トリッキーな部分ですが、機能ブランチをステージング ブランチにマージしてから、heroku にプッシュする必要があります。ステージング テストが成功したら、機能ブランチも本番環境にマージしたいと考えています。
十分に単純です。トリッキーな部分は、ブランチごとにわずかに異なるセットアップを行っていることです。マスターにはいくつかの SSL がオフになっているなどがあります。ステージングにはいくつかの異なる証明書があります。プロダクションには、いくつかの newrelic 追跡などがあります。
を実行するgit merge
と、常に設定が上書きされるようです。これはとても痛いです。私はチェリーピッキングまたはgit checkout <file list>
個々の変更をマージしてきました。他のすべてのものを持ち込まずに、「フィーチャーブランチからステージングブランチにすべてのコミット (変更セット) をマージする」方法はありますか?