2

MAIN、TST、PRD の 3 つのブランチを持つ大きな TFS 2010 プロジェクトがあるとします。

戦略は次のとおりです。スプリントが終了するたびに、MAIN が TST にコピー/マージされます。TST が安定していると見なされるたびに、PRD にコピー/マージされます。TST または PRD に修正がある場合は常に、MAIN または MAIN と TST にマージされます。(理由は聞かないでください。私はこれをコントロールできませんし、特に好きでもありません。)

私が理解しているように、各昇格ステップで、次のいずれかを行うことができます。

  1. ターゲット ブランチを削除し、もう一度ブランチを削除します。これにより、そのブランチの履歴にすぐにアクセスできなくなります (いつでも復元できますよね?)。
  2. acceptTheirsを使用してマージおよび解決します。これにより、ターゲットからオリジンにマージされていない可能性のある変更が失われます。

マージバックの場合、祖先情報を持つことが重要です。1. 祖先情報が保持されることを期待します。2.よくわかりません。

だから、2つの質問:

  1. これら 2 つは、ブランチ間でソフトウェアを宣伝するための可能な/望ましい方法ですか?
  2. 祖先情報が保持されないのはどのような場合ですか?

大規模なリポジトリに関連する可能性のある追加のトレードオフに対する追加のポイント。

4

1 に答える 1

2

1.これら2つの方法は、ブランチ間でソフトウェアを宣伝するための可能な/望ましい方法ですか?

MAINに子ブランチTSTがあり、子ブランチPRDがある場合、ベースレスマージに頼ることなく、これらはブランチ間の変更を促進するために可能な唯一のマージです。

これが望ましい分岐戦略である場合は、出力される並列リリースの数やチームのサイズなど、多くの要因によって異なります。これに関する優れたリファレンスガイドは、TFS Rangersの分岐ガイダンスです。http: //vsarbranchingguide.codeplex.com/使用していると思われるバージョンは、基本的なデュアルブランチプランのバリエーションです(メインと呼ばれるもの、devと呼ばれるもの)。生産部門は一意のラベルが付いていません)。この分岐戦略は、1つのバージョンのみが本番環境にあり、リリースには常に作成されたすべてのものが含まれている必要がある場合に最適に機能します。

2.祖先情報が保持されていないのはどのような場合ですか?

ファイルがコピーされた場合、またはブランチが破棄された場合。ただし、ブランチを常に削除および/または再作成する必要がある場合、および/またはacceptTheirsを継続的に使用する必要がある場合は、多くの場合、次のことを示します。不十分な分岐戦略、不十分なTFSトレーニング、またはテストとパッチ適用戦略の問題(本番環境と開発で見つかったバグが同時に検出されて修正されるため、マージの競合が発生します)。

于 2012-12-11T22:55:40.687 に答える