2

機能ブランチとリリース ブランチの 2 つのソース管理シナリオについて質問があります。

  • シナリオ 1 では、フィーチャー ブランチがトランクにマージされます。
  • シナリオ 2 では、機能ブランチが最新のリリース ブランチにマージされます。

シナリオ 1 と比較して、シナリオ 2 の結果はどうなりますか?

両方のシナリオの考えられる長所と短所は何ですか?


2 つのシナリオの詳細:

  • すべての開発は機能ブランチで行われます
  • 分岐は常にトランクから行われます

シナリオ 1 (この SO-answerで説明されている内容と同様):

  • 機能ブランチは常にトランクにマージされます
  • 新しいリリースの準備が始まると、トランクから新しいリリース ブランチが作成されます。
  • QA とリリース ブランチからの展開の後、リリース ブランチの変更/バグ修正はトランクと新しいリリース ブランチにマージされます
  • トランクへの変更はすべての機能ブランチにマージされます

シナリオ 2:

  • 機能ブランチは常に最新のリリース ブランチにマージされます
  • 現在のリリース ブランチが新しい機能を受け入れなくなり、最終リリースの準備が始まると、トランクから新しいリリース ブランチが作成されます。
  • QA とリリース ブランチからの展開の後、リリース ブランチの変更/バグ修正がトランクにマージされます
  • トランクへの変更は、すべての機能ブランチと最新のリリース ブランチにマージされます
4

1 に答える 1

1

分岐はすべて分離に関するものであるため(「いつ分岐する必要があるか」を参照)、2つのシナリオの違いは、メインブランチに持たせる役割ですtrunk

  • シナリオ2は、静的な役割により適合しています。trunkこれは、本番環境にあるものの表現です(そして、時折ホットフィックスを現在の機能と次のリリースのブランチにマージする必要があります)

  • シナリオ1は、動的な役割により適しています。trunkさまざまな機能の統合であり、そこからリリースブランチが作成され、実際に次のリリースの一部となる機能が統合されます。

于 2010-03-01T07:02:13.713 に答える