私たちは、長寿命ブランチPROD、TEST et DEVを使用します。マージ時にリバートコミットを除外する
次のアプリケーションバージョンはDEVで開発され、テストの準備ができたらTESTにマージされ、リリースされたPRODにマージされます。
コミットの中にはテストブランチ(テストされているバージョンのバグ修正用)とPROD(メンテナンスバグ用)で直接作成されるものがあります。
PRODとTESTのこれらのコミットは、常に子ブランチに統合されます(つまり、PRODはTESTとDEVにマージされ、TESTはDEVにマージされます)。
しばらくすると、PRODでバグ修正がコミットされ、TESTとDEVでマージされてから元に戻されます。しかし、計画にはいくつかの変更があり、バグ修正はPRODのバージョンではなく、TESTのバージョンの一部でなければなりません。
ここに問題があります。私がPRODでコミットを元に戻すと、PRODがマージダウンされたときにTESTとDEVでも復帰が行われます。 PRODがマージされた後でも、PRODの変更を削除してTESTとDEVに保存するにはどうすればいいですか?私は現在、何
がTESTから、次のとおりです。
git merge PROD --no-commit
これは、マージがTESTにコミットされる前に、私はPRODから元に戻した変更を破棄することができます。その後、特別な介入なしにTESTからDEVにマージします。 PRODからマージする唯一のコミットがリバースされたコミットである場合、これはファイルなしでマージされますが、これにもかかわらず動作します。
私のアプローチが正しいかどうか、これを行うより良い方法があるのだろうかと思っていましたか?
申し訳ありませんが、私はTESTをPRODにマージする提案を理解していません...それは逆ですが、私はTESTをPRODで最新に保ちたいと思います。リリース(その時点でTESTはPRODでマージされます)。 –
あなたが言及しているブログ投稿を見ると、統合ブランチ(親)を機能ブランチ(子)にマージしないという完全な正当性がわかりません。 私たちの状況では、哲学的な観点からは、すべての子ブランチの目的は「機能をxxx(親ブランチの最新バージョンに)追加」であり、「機能をxxxに追加するからの分岐 ")。 TESTをPRODの古いコードベース(例:PRODのTESTの最後のマージ)にマージすることはできませんが、私たちはアプリのプロダクションバージョンが1つしかなく、顧客固有のバージョンはありません。 –
私は、技術的な観点から、子育ての親が子育てよりも良かったと思っていました。 –