3

私は長期的なブランチに取り組んでいます。毎週かそこらで私のブランチのものでトランクを更新したいです。

さまざまなリビジョンのマージを使用して、トランクからブランチを更新していました。

次に、ブランチの再統合を使用して、ブランチをトランクにマージしました。

それから私は自分のブランチに戻り、さまざまなリビジョンをマージしましたが、大量のツリーの競合が発生しました。

これを行うための適切な方法は何ですか?(トランクを別のブランチから更新し、そのブランチをトランクで更新します)

4

3 に答える 3

3

ブランチはトランクでのみ最新の状態に保つ必要があります。次に、ブランチmodをトランクにプッシュする準備ができたら、ブランチからの変更のみを取得します。一緒に進むときに、両方を互いに同期させようとしないでください。結び目で縛られるだけです。

于 2010-02-04T14:21:43.267 に答える
1

誰も持っていない特定の機能をハックし始め、それをトランクや他のツリーと共有しない場合、これは良い手順かもしれません。

  1. ブランチを作成する
  2. ハック、ハック、ハックしてブランチにコミットする
  3. トランクとマージする準備ができたら、トランクの変更をブランチにマージします
  4. 競合を解決し、ブランチにコミットします
  5. トランクときれいにマージ

ブランチ開発のどの時点でも変更をトランクにマージしない場合は、トランクをより頻繁にマージして、競合や設計の問題を平和的に解決できます。Subversionは、以前にマージしたものを記憶しています。

于 2010-02-04T14:40:34.950 に答える
1

組織がブランチをどのように使用するかによって異なります。これが私たちの仕事です:

開発ブランチ(質問でブランチを使用していると私が信じている方法)については、ここでのピートの回答(および彼への+1)に同意します。プロジェクト全体で両方の方法をマージしようとしないでください。プロジェクト全体を通して、トランクからブランチへのマージでブランチを最新の状態に保ちます。プロジェクトが完了したら、ブランチをトランクにマージし(テスト後!!!)、ブランチを使用して完了します。

リリースブランチの場合、マージをいくつかの方法で使用します。

  • トランク->ブランチ:初期統合-リリースブランチを作成します。そして一般的に、これは私たちがこの方向でリリースブランチとマージする唯一の時です。
  • ブランチ->トランク:本番環境でバグが見つかった場合は、ブランチを修正してからトランクにマージします。これは、次のリリースブランチがカットされるまで発生します。

重要なのは、組織にポリシーがあり、それを順守することです。アドホックなことをしないでください。

HTH、

-aj

于 2010-02-04T14:42:18.927 に答える