651

SVN でブランチを作成するにはどうすればよいですか?

4

10 に答える 10

627

svn copy次のコマンドを使用して、新しいブランチを作成します。

$ svn copy svn+ssh://host.example.com/repos/project/trunk \
           svn+ssh://host.example.com/repos/project/branches/NAME_OF_BRANCH \
      -m "Creating a branch of project"
于 2008-08-05T09:25:40.510 に答える
370

Subversion での分岐は、非常に軽量で効率的なコピー機能によって促進されます。

分岐とタグ付けは事実上同じです。svn copyコマンドを使用して、リポジトリ内のフォルダー全体をリポジトリ内の別の場所にコピーするだけです。

基本的にこれは、フォルダーのコピーが意味することは慣例によるものであることを意味します-それがバックアップ、タグ、ブランチなどであるかどうか。考え方に応じて (通常、過去に使用した SCM ツールによって異なります)、スタイルをサポートするためにリポジトリ内にフォルダー構造を設定する必要があります。

tags一般的なスタイルは、branches、 、 などと呼ばれるリポジトリの上部に多数のフォルダーを配置trunkすることです。これにより、全体trunk(またはサブセット) をtagsおよび/またはbranchesフォルダーにコピーできます。複数のプロジェクトがある場合は、各プロジェクトでこの種の構造を複製したい場合があります。

この概念に慣れるまでに時間がかかる場合がありますが、うまくいきます。使用する規則について、あなた (およびあなたのチーム) が明確であることを確認してください。適切な命名規則 (ブランチ/タグが作成された理由と、それがまだ適切かどうかを示すもの) を持つことも良い考えです。廃止されたブランチをアーカイブする方法を検討してください。

于 2008-08-05T13:40:20.777 に答える
27
svn cp /trunk/ /branch/NEW_Branch

トランクにローカルの変更がある場合は、変更Rsyncを同期するために使用します

rsync -r -v -p --exclude ".svn" /trunk/ /branch/NEW_Branch
于 2013-09-03T09:14:12.763 に答える
17

Suppose you want to create a branch from a trunk name (as "TEST") then use:

svn cp -m "CREATE BRANCH TEST" $svn_url/trunk $svn_url/branches/TEST
于 2013-07-23T09:51:33.360 に答える
16

新しい SVN ユーザー向けのヒント。これは、正しい URL をすばやく取得するのに少し役立つ場合があります。

実行svn infoして、現在チェックアウトされているブランチに関する有用な情報を表示します。

URL は (ルート フォルダーで svn を実行する場合) コピー元の URL を提供する必要があります。

また、新しく作成したブランチに切り替えるには、次のsvn switchコマンドを使用します。

svn switch http://my.repo.url/myrepo/branches/newBranchName
于 2014-03-28T11:30:44.550 に答える
15

通常は svn+ssh://host.example.com/repos/project/branches/mybranch にコピーして、リポジトリに複数のブランチを保持できるようにしますが、構文は有効です。

リポジトリ レイアウトの設定方法に関するアドバイスを次に示します。

于 2008-08-05T12:40:31.337 に答える
12

ブランチのマージを計画している場合でも、これを確認することを強くお勧めします。

Svnmerge.py

Subversion 1.5 ではより多くのマージ トラッキングが組み込まれていると聞きましたが、私はその経験がありません。私のプロジェクトは 1.4.x で、svnmerge.py は命の恩人です!

于 2008-08-05T12:46:40.637 に答える
6
  • 現在のプロジェクトの外に新しいフォルダーを作成します。任意の名前を付けることができます。(例: "Customization" という名前のプロジェクトのチェックアウトがあります。このプロジェクトには、"Project1"、"Project2" などの多くのプロジェクトがあります....そして、"Project1" のブランチを作成したいとします。最初に " Customization」で、右クリックして新しいフォルダーを作成し、「Project1Branch」という名前を付けます)。
  • "Myproject1"....TortoiseSVN -> ブランチ/タグを右クリックします。
  • 作業コピーを選択します。
  • ブラウザを開く....「To URL」のちょうど右の平行線。
  • カスタマイズを選択し、右クリックして [フォルダーを追加] を選択します。作成したフォルダを通過します。こちらが「Project1Branch」です。[OK] ボタンをクリックして追加します。
  • この新しいバンチをチェックアウトします。
  • もう一度、作成するブランチのプロジェクトに移動します。TorotoiseSVN を右クリック -> ブランチ/タグ。次に、作業コピーを選択します。また、URL をブランチ名として指定できます。{your IP address/svn/AAAA/Customization/Project1Branch} のように。また、URL に名前を設定して、この名前のみでフォルダーを作成することもできます。{あなたのIPアドレス/svn/AAAA/Customization/Project1Branch/MyProject1Branch}のように。
  • OKボタンを押します。これで、ログが表示されます...作業コピーがブランチに保存されます。
  • これで、チェックアウトして、仕事を楽しむことができます。:)
于 2014-02-05T10:24:54.917 に答える