SVN はブランチを作成し、ブランチをマージします

SVN はターゲット フォルダを無視します

マウスの右ボタン プロジェクト -> TortoiseSVN -> 設定
ここに画像の説明を挿入
1. * はすべてを表し、*.idea *target.idea フォルダーとターゲット フォルダーは無視します
2. フィルター処理された各ファイルの中間にはスペースが必要であることに注意してください

SVN 作成ブランチ

1.トランクtrunk上に新しいmavenプロジェクトspring-boot-demoプロジェクトを作成し、コミットしてSVNリポジトリにサブミットする.
ここに画像の説明を挿入
プロジェクト構造:
ここに画像の説明を挿入
2.分岐が必要なプロジェクトspring-boot-demoを選択し、右键-->TortoiseSVN-->Branch/tag
ここに画像の説明を挿入
3.パスへ分岐パスを選択
ここに画像の説明を挿入
コピー完了!
ここに画像の説明を挿入
4. リモート ライブラリ ブランチ プロジェクト コードを表示する
ここに画像の説明を挿入
5. ローカル ブランチ ディレクトリからブランチ コードを取得する
ここに画像の説明を挿入

SVNマージブランチ

マージとは、リモート リポジトリを直接マージするのではなく、ローカルの作業コピーにマージすることです. ローカルの作業ディレクトリにマージするには、それをリポジトリに送信するかどうかを選択する必要があります. したがって、プロジェクトを更新するか、マージする前にコードを送信する必要があります。そうしないと、送信されていないコードが失われる可能性があります

1. Branch はクエリ ユーザー インターフェイス コードを追加し、コードを送信します。
ここに画像の説明を挿入
2. ブランチ コードをトランクにマージする
ブランチをトランクにマージするには、トランク コードを選択し、[マージ] を右クリックして、処理する対応するマージ タイプを選択する必要があります。
トランクをブランチにマージするには、対応するブランチを選択し、[マージ] を右クリックして、処理する対応するマージ タイプを選択する必要があります。

ここに画像の説明を挿入
3. マージ タイプを選択します
ここに画像の説明を挿入

  • merge a range of revisions: ブランチの変更をメイン ブランチ (メイン コードとして理解される) にマージすることです. ブランチは 1 つまたは複数のバージョンを選択できますが、メイン ブランチはバージョンを選択できません.
  • merge two different trees: メインブランチとブランチの両方でバージョンを選択でき、選択したブランチがマージ時にメインブランチになります。マージ時に差額が生じた場合、主枝は削除されます。from と to は正しく選択する必要があります。from はメイン ブランチで、to はブランチです。

リビジョンの範囲をマージする

ブランチ バージョン、つまりspring-boot-demo1128ブランチを選択し、マージするバージョン (すべてのリビジョン、すべてのバージョン、または指定したバージョン) を選択します。
ここに画像の説明を挿入
バージョンを指定したら、次のステップで空白を比較するかどうかを選択し、最初にTest Mergeマージをテストします. 問題がないと思われる場合は、「マージ」をクリックして
ここに画像の説明を挿入
マージを完了します
ここに画像の説明を挿入
.分岐コードであり、アイデアは、変更されたコミットされていないコードがあることを示しています。メイン コード ベースにコミットするかどうかを選択できます
ここに画像の説明を挿入

2 つの異なるツリーをマージする

1. ブランチはspring-boot-demo1128ユーザー保存メソッド saveUser1 を追加し、リモート ライブラリにコミットします。
ここに画像の説明を挿入
main ブランチは、spring-boot-demoPersonController クラス、getPerson メソッド、および commit をリモート ライブラリに追加します。
ここに画像の説明を挿入

2. 主枝コードを右クリックしTortoiseSVN-->Mergemerge two different trees枝コードを主枝にマージする方法を選択します。ここで、from が主枝spring-boot-demoプロジェクト、to が枝spring-boot-demo1128プロジェクトであることを思い出し、バージョンを選択してからマージします。

の意味: マージされたメイン ブランチ コード意味へ:マージが
必要なブランチ コード問題ありません、「Merge」をクリックするだけでマージ完了
ここに画像の説明を挿入
Test Merge
ここに画像の説明を挿入

ここに画像の説明を挿入

4. 本支店コードを表示します。分岐された Application クラスの saveUser1 メソッドは、メイン ブランチの作業コピーに同期されます。ただし、master ブランチの PersonController クラスは削除されました。
ここに画像の説明を挿入
これがmerge two different treesマージ方法の一種です. ブランチコードをマージするとトランクに新しく追加されたものは削除されますので, このようなマージには注意が必要です. ここから入ってくるバージョンはトランクの最新バージョンであってはなりません. 、しかし、その時点でブランチがプルされたときのバージョンであり、ブランチの最初のバージョン、次に to はブランチの最新バージョンと理解することもできるため、ブランチの最新のコードは作業コピーにマージされ、次にローカル 作業コピーがトランクにマージされます。

5. 上記のアイデアに従って再試行します。トランクは [元に戻す] を選択して、マージされたブランチ コードを削除し、最後にマージされていないバージョンに戻ります。
ここに画像の説明を挿入
対応するファイルをフックする
ここに画像の説明を挿入
6. 上記の手順 2 を繰り返し、提出された PersonController ファイルの以前のバージョンにマージするメイン ブランチ コードを選択します。
ここに画像の説明を挿入

ここでリモート バージョン 2 と 6 を選択すると、コードの競合が発生します。その理由は、メイン ブランチの作業用ローカル ライブラリのアプリケーション ファイルに getUser メソッドと saveUser メソッドが既に存在するためです。したがって、コードの競合が発生します。

マージ完了

ここに画像の説明を挿入
7. 本支店コードを表示します。Application クラスのみが変更され、PersonController クラスは削除されていないことがわかりました。メインコードベースにサブミットするかどうかを選択でき、
ここに画像の説明を挿入
コードもメインラインに同期され、ブランチをメインラインにマージする機能を実現します。

マージ ブランチの概要

1.どのブランチがどのブランチにマージされ、どのブランチのブランチコードを右クリックして選択しますか。TortoiseSVN-->Mergeたとえば、ブランチAがブランチBにマージされ、ブランチBがこの時点でメインブランチになり、右クリックしてブランチコードを選択します支店 B のTortoiseSVN-->Merge
2.merge a range of revisionsを使用する場合、URL From はマージされた支店コードです。つまり、A 分岐
3 merge two different treesTo は、マージする必要があるブランチ コード、つまり A ブランチとして指定されます。

本線から支線への合流も同様

おすすめ

転載: blog.csdn.net/qq_45297578/article/details/128087954