120

TortoiseSVN を使用して、ブランチで行った変更をトランクにマージする必要があります。

私はこのプロジェクトの唯一の開発者なので、トランクが変更されていないことを知っています。最終的に私のチームが使用できるように、SVN を学習しています。

基本的には、幹を枝とまったく同じに見せたいと思っています。

svn 以前の世界では、ブランチ フォルダーにファイルをコピーし、トランク フォルダー内のファイルを削除してから、ブランチをトランクにコピーしていました。

Reintegrate a branchTortoiseSVN では、 、Merge a range of revisions、およびを試しましたMerge two different trees。実際にトランクを変更するものはないようです。また、トランクの上で分岐しようとしました。これにより、トランクが既に存在するというエラーが表示されます。

4

4 に答える 4

158

あなたの場合:

  1. 作業コピーをトランクに切り替える (SVN スイッチ)
  2. ブランチを作業コピーにマージします (SVN マージ)
  3. すべてがまだコンパイルされ、動作していることを確認してください
  4. 作業コピー (トランク) をコミットします
  5. ブランチを殺すことを検討してください

チーム環境では、最初にブランチのトランクから最新の変更をマージし、すべてがコンパイルされて機能することを確認してから、上記の手順を実行することをお勧めします (変更を既にテストしているため、簡単です)。


アップデート

ステップ 5 で、ブランチの強制終了について言及します。これは、フィーチャからのブランチがトランクにあると、トランクの一部と見なされるためです。その場合、誰も作業を続けないように、ブランチを強制終了する必要があります。その機能に大幅な変更が必要な場合は、そのための新しいブランチを作成する必要があります。

特定のリリースがサポートされなくなっていない限り、私が削除しない唯一のブランチは、メンテナンス ブランチとリリース ブランチです。

何があっても、常にすべてのリビジョンにアクセスできるため、ブランチを強制終了することは、他の開発者がデッド ブランチで開発するのを防ぐためにのみ使用されます。

于 2009-01-08T15:20:31.143 に答える
11

TortoiseSVN 1.8.5 では、Merge | 2 つの異なるツリーをマージするとうまくいくはずです。ブランチ/タグをトランクにマージするときのコツは、From URL がトランクで、To がタグ/ブランチであることです。奇妙ですが本当です。

出典:合併

作業コピーではなくタグ/ブランチにあるディレクトリの場合、競合エラーが発生する場合があります。競合を受け入れて、マージをやり直してください。

于 2014-05-20T18:16:58.257 に答える
6

最初に作業コピーをトランクに切り替えます。次に、ブランチからトランクまで、リビジョンの範囲をマージします。このダイアログが完了すると、相違点はトランクの作業コピーで保留中の変更になります。作業コピーを手動で変更したかのように、コミットする必要があります。

私の使用法では、ビルド時にトランクを実行し続け、ブランチをスピンオフするのがより一般的です。したがって、マージする必要があるのは、トランクからバグ修正を取得し、それを最新のビルド ブランチに配置して、そのブランチを再リリースすることだけです。あなたが見つけたように、マージはせいぜい不器用なので、これを行う最も簡単な方法です。最新のブランチとトランクを自分のマシンにチェックアウトしたままにし、文字通りトランクからブランチにファイルをコピーして両方をチェックインすることです。

于 2009-01-08T15:04:22.580 に答える
4

TortoiseSVN 1.9.3、ビルド 27038 を使用しています。

ブランチをトランクにマージするには、以下の手順に従います。

1) トランクの作業コピーを右クリックし、以下のオプションを選択します。

ここに画像の説明を入力

2) トランクへのブランチ マージの場合、以下に示すように 2 番目のオプションを選択し、[次へ] をクリックします。

ここに画像の説明を入力

3) From: フィールドに、トランクの完全なフォルダ URL を入力します。これは間違っているように聞こえるかもしれませんが、トランクはブランチの変更を追加する開始点であることを覚えておいてください。To: フィールドに、機能ブランチの完全なフォルダー URL を入力します。

ここに画像の説明を入力

4) [次へ] をクリックして、マージのテストを行います

ここに画像の説明を入力

5) テスト マージが成功したら、[マージ] ボタンをクリックします。

6) マージが成功したら、トランクで変更をコミットします。

于 2017-11-13T12:26:54.937 に答える