私は長期的なブランチに取り組んでいます。毎週かそこらで私のブランチのものでトランクを更新したいです。
さまざまなリビジョンのマージを使用して、トランクからブランチを更新していました。
次に、ブランチの再統合を使用して、ブランチをトランクにマージしました。
それから私は自分のブランチに戻り、さまざまなリビジョンをマージしましたが、大量のツリーの競合が発生しました。
これを行うための適切な方法は何ですか?(トランクを別のブランチから更新し、そのブランチをトランクで更新します)
私は長期的なブランチに取り組んでいます。毎週かそこらで私のブランチのものでトランクを更新したいです。
さまざまなリビジョンのマージを使用して、トランクからブランチを更新していました。
次に、ブランチの再統合を使用して、ブランチをトランクにマージしました。
それから私は自分のブランチに戻り、さまざまなリビジョンをマージしましたが、大量のツリーの競合が発生しました。
これを行うための適切な方法は何ですか?(トランクを別のブランチから更新し、そのブランチをトランクで更新します)
ブランチはトランクでのみ最新の状態に保つ必要があります。次に、ブランチmodをトランクにプッシュする準備ができたら、ブランチからの変更のみを取得します。一緒に進むときに、両方を互いに同期させようとしないでください。結び目で縛られるだけです。
誰も持っていない特定の機能をハックし始め、それをトランクや他のツリーと共有しない場合、これは良い手順かもしれません。
ブランチ開発のどの時点でも変更をトランクにマージしない場合は、トランクをより頻繁にマージして、競合や設計の問題を平和的に解決できます。Subversionは、以前にマージしたものを記憶しています。
組織がブランチをどのように使用するかによって異なります。これが私たちの仕事です:
開発ブランチ(質問でブランチを使用していると私が信じている方法)については、ここでのピートの回答(および彼への+1)に同意します。プロジェクト全体で両方の方法をマージしようとしないでください。プロジェクト全体を通して、トランクからブランチへのマージでブランチを最新の状態に保ちます。プロジェクトが完了したら、ブランチをトランクにマージし(テスト後!!!)、ブランチを使用して完了します。
リリースブランチの場合、マージをいくつかの方法で使用します。
重要なのは、組織にポリシーがあり、それを順守することです。アドホックなことをしないでください。
HTH、
-aj