0

私は長命の機能開発ブランチを持っています。これを dev-foo と呼びましょう。問題は、それを release-1 にマージしようとすると、意味をなさないあらゆる種類の恐ろしいツリー競合とソース競合が発生することです。一緒に統合したい他の機能とともに、それらを新しいトランクベースのブランチに再統合しました。この統合ブランチに対して、またはこの統合ブランチから実行しようとするすべてのマージは、同様に恐ろしく競合します。私に何ができる?

4

1 に答える 1

1

開発ブランチのトランクからのマージの 1 つが、競合を解決してコミットするプロセスのどこかで誤って壊れたのではないかと強く疑っています。これは、開発ブランチのマージ履歴が「毒」されていることを意味し、それをマージすると、あなたと他の全員の苦痛と苦しみが長引くだけです。

安心してください、すべてが失われるわけではありません!

これは、トランクから以前の壊れたマージを持ち込まずに、再統合の目的で壊れた開発ブランチを「再構築」するために使用した方法です。

  1. 開発ブランチが開始されたのと同じポイントから新しいブランチを開始します。
  2. すべての dev-branch リビジョンを再構築ブランチにマージします。ただし、親ブランチ (トランク) からの次のマージまではマージしません。
  3. 元の開発ブランチ履歴の次のステップでマージされたのと同じリビジョンを、dev-branch-parent (トランク) から再構築ブランチにマージします。今度は間違えないように。
  4. この時点での dev-branch とこれまでの再構築ブランチを (SVN URL 間で) 比較します。次に進む前に、違いを正当化または修正します。
  5. 開発ブランチ全体を再構築するまで、手順 2 ~ 4 を繰り返しますが、マージの問題は発生しません。
  6. 再統合対象のブランチを、再構築された開発ブランチにマージします。
  7. 開発上の競合を解決し、ビルドをテストします。
  8. 再統合 再構築された開発ブランチをターゲット ブランチにマージします。
于 2012-05-21T16:09:40.047 に答える