3
ホットフィックスの処理中の複数のアクティブなリリースに対する適切なGitワークフロー
私の製品に最適なGitワークフローを選択しようとしています。パラメーターは次のとおりです。 年に数回のメジャーリリースを行っています。 製品の複数のバージョンが同時にアクティブになっています(v10.1、v11.2など)。 同時に複数のリリースで作業できるようにする必要があります(v12.1で作業できるようになりましたが、リリースの終わりに達すると、v12.2で作業を開始します) 重大なバグが見つかった場合、リリースを修正できる必要があります これまでのところ、ここで私はそれがうまくいくと思う方法です: 単一のリモートリポジトリが使用されます マスターからブランチ12.1を作成します 12.1に基づいて機能ブランチを作成し、コミットして12.1にマージしてプッシュ 将来のリリースで作業を開始する必要がある場合は、12.1に基づいて新しいブランチ12.2を作成します その後、12.1の機能で作業する場合、12.1からブランチを作成し、変更をコミットし、12.1と12.2の両方にマージします 12.2の機能で作業している場合、12.2からブランチを作成し、変更をコミットし、12.2にのみマージします リリース12.1が完了したら、それをマスターにマージし、12.1でマスターブランチにタグ付けします 修正プログラムが必要な場合は、それを必要とする最も古いリリースブランチから修正プログラムブランチを作成し、変更をコミットし、そのリリースと影響を受ける可能性がある将来のリリースのすべてのリリースブランチにマージします。最新の安定版リリースブランチが影響を受けた場合は、マスターにマージします。 私はいくつかの懸念があります: 特に多くの重複する変更があった場合、古いブランチから新しいブランチへのホットフィックスのマージがスムーズなプロセスになるかどうかはわかりません。競合があるように見える場合は、各ブランチで手動で修正プログラムを適用する方が賢明でしょうか 私が見たワークフローモデルは、リリースブランチがあまり生き残っていないようです。いったんリリースがマスターにマージされ、タグが付けられ、削除されます。私の問題は、マスターのタグがすべてある場合、リリースの状態を管理する方法がわからないことです。ブランチで修正する方が簡単なようで、いつでも戻ることができるリリースがあります最新の修正プログラムが含まれています(リリースの修正プログラムにタグを付けることもできます)。マスター内に戻って、修正プログラムが適用されたリリースのコピーを適用し、そのタグを更新する方法があるかどうかはわかりません。 私が見落としているかもしれないことや、私が指定した要件を考慮して物事を達成するより良い方法についてのコメントを歓迎します。