わかりやすいように、写真に凡例を追加しました。
最初、私のプロジェクトのトランク内のコードはバージョン 1.0 です。
このバージョンのコードで、ベンダー A、ベンダー B、1.1、および 1.2 の 4 つのブランチを作成します。赤い線は、これらの並行開発ブランチを表しています。ベンダー固有の開発とリリースはベンダー ブランチで実行され、ベンダー ブランチのコードがトランクにマージされることはありません。ベンダーに対してリリースが行われると、それらのリリースにタグが付けられます。
さて、私の質問は次のとおりです。
- この製品開発の方法論はどの程度正確ですか?
- たとえば、トランクは 1.1 にあり、1.1 コードをトランクにマージした後、1.1 ブランチが終了 (期限切れ) します。その後、1.1 コードにバグが見つかりました。ここで、すぐにバグ修正ブランチを作成し、修正をトランクにコミットします。では、このバグ修正は 1.2 ブランチとベンダー ブランチにプッシュする必要がありますか? それとも、これらのブランチは別のバージョンのトランク (1.0) を扱っているため、プッシュすべきではありませんか?
- ベンダー ブランチで開発に取り組むにはどうすればよいですか? たとえば、ベンダー ブランチのバグを修正する必要がある場合、変更を直接ベンダー ブランチにコミットする必要がありますか?
プロセスの再構築/再設計についてもご提案いただければ幸いです。