1

これは私のレイアウトです

/trunk
/branches/qa
/branches/dev

将来、このブランチを削除するつもりはありません

--reintegrateDEVからQAにマージするときに使用する必要がありますか?またはQAから/trunkへ

ありがとう

4

2 に答える 2

1

マージの方向が常に同じである場合(つまり、qaからdevにマージせず、dev-> qaのみ)、単純なマージで十分です。

不要なマージを回避するために、別のモード(再統合)が必要でした。「機能ブランチ」シナリオでは、機能ブランチに2種類の変更が加えられます。

  1. 定期的なコミット
  2. トランクからマージ

機能をトランクに入れたい場合は、(1)のみをマージします。ただし、デフォルトのマージメカニズムを使用する場合、SVNは(2)をトランクにマージしようとします。これにより、競合や隠れたエラーが発生します。これらの変更はすでに存在するためです。

于 2012-07-30T05:27:38.650 に答える
1

2つのブランチ(を含むtrunk)間で再統合マージを使用し、ソースブランチを維持することを意図することは、一般的に悪い考えです。将来のマージで、以前の再統合マージでソースであったブランチを使用することには奇妙な問題があります。

一般的な解決策は、ソースブランチをtrunk(ターゲットブランチである必要trunkがあります)に再統合してマージし、マージ後にソースブランチをドロップアンドリクリエイトすることです。

しかし、あなたは少し違うことをしたいと思っています。

との間で再統合マージを実行する必要がdevありqaますか?私のアドバイスは、再統合マージを避け、代わりに順次マージまたは差分マージを使用し、マージするときに作成のパスに従うことです(以下を参照)。

通常、変更をからdevにマージするqa場合は、にマージ(およびコミット)してから、にマージ(およびコミット)します。言い換えれば、あなたは創造の道をたどります。これにより、コミットとマージを監査するときに、マージ履歴がわかりやすく表示されます。devtrunktrunkqa

これが不可能な場合は、ブランチ間のマージを慎重に行う必要があります。これらは通常、順次マージのみに制限する必要があります。dev次に、またはqaにマージするときが来ると、trunkはるかに簡単になります。

お役に立てれば。

于 2012-07-30T08:26:45.900 に答える