35

これは何度か質問されていることを知っているので、もう一度質問して申し訳ありませんが、異なるマージの違いを理解していることを確認したいだけです.

私はこのプロジェクトの唯一の開発者なので、他の人の作品を上書きする心配はありません。

このプロジェクトのブランチを作成したのは、いくつかの新しい機能を追加しようとしていて、現在のコードのバグを修正する必要がある場合に備えて、半分完成したコードを処理する必要がなかったからです。したがって、トランクには「安定版」リリースが含まれ、ブランチは基本的にアルファ/ベータ ビルドです。

これらの変更を実際に開始する前に、いくつかのバグを修正し、それらをブランチ ビルドにコミットしました。ブランチをトランクにマージしてこれらの修正をコミットしたいので、ブランチで変更を開始できます。

TortoiseSVN に移動してマージを選択すると、次の 2 つのオプションがあります。リビジョンの範囲をマージするか、2 つの異なるツリーをマージします。

最初のものは、ブランチまたはトランクにリビジョンを作成し、それらの変更を別のブランチに移植したい場合に使用します

2 つ目は、2 つの異なるブランチの違いを作業コピーにマージしたい場合です。

最初のオプションを試すときは、マージ元の URL からブランチとすべてのリビジョンを選択します。[次へ] をクリックし、[テスト] をクリックすると、移動/削除/追加されたいくつかのファイルでツリーの競合が発生します。

ヘッドリビジョンを使用して(テストマージを使用して)2番目のオプションで同じことを試すと、うまくいくようです。正しい方法はどれですか?または、どちらも私がやりたいことに対して正しくありませんか?

4

3 に答える 3

33

あなたの場合、トランクブランチには関係があるため、Merge two different treesは必要ないと思います。これは必要なものではありません。

ブランチの再統合は、ブランチからトランクに変更を加えたい場合に必要なものです。

Merge は、トランクからブランチへのマージ(最新の安定バージョンへの更新) だけでなく、ブランチからトランクへのマージにも使用できます(私は主にこのオプションを使用します)。

おそらく、この SO-Questionもあなたを助けることができます。ここに、このトピックの「標準的な文献」があります。

アップデート:

(カメ) Merge-Options:

ここに画像の説明を入力

更新 II:

(カメ) 現在のバージョンの Merge-Options:

ここに画像の説明を入力

「リビジョンの範囲をマージする」は通常、「ブランチからトランクへ」のマージに使用されます。

于 2013-08-28T05:04:17.460 に答える
9

tortoise svn の新しいバージョンでは、reintegrate ブランチが削除されました。代わりに、一連のリビジョンのマージがこれを処理しています。

ディスカッションTortoisesvn Subversion 1.8 - merge - no more reintegrate a branch option

于 2014-02-24T11:04:10.583 に答える
3

マージ ダイアログの下に、「マージ (旧スタイル)」オプションがあります。

古いスタイルの再統合

于 2016-09-27T11:50:40.853 に答える