SVN でブランチを作成するにはどうすればよいですか?
10 に答える
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"
Subversion での分岐は、非常に軽量で効率的なコピー機能によって促進されます。
分岐とタグ付けは事実上同じです。svn copy
コマンドを使用して、リポジトリ内のフォルダー全体をリポジトリ内の別の場所にコピーするだけです。
基本的にこれは、フォルダーのコピーが意味することは慣例によるものであることを意味します-それがバックアップ、タグ、ブランチなどであるかどうか。考え方に応じて (通常、過去に使用した SCM ツールによって異なります)、スタイルをサポートするためにリポジトリ内にフォルダー構造を設定する必要があります。
tags
一般的なスタイルは、branches
、 、 などと呼ばれるリポジトリの上部に多数のフォルダーを配置trunk
することです。これにより、全体trunk
(またはサブセット) をtags
および/またはbranches
フォルダーにコピーできます。複数のプロジェクトがある場合は、各プロジェクトでこの種の構造を複製したい場合があります。
この概念に慣れるまでに時間がかかる場合がありますが、うまくいきます。使用する規則について、あなた (およびあなたのチーム) が明確であることを確認してください。適切な命名規則 (ブランチ/タグが作成された理由と、それがまだ適切かどうかを示すもの) を持つことも良い考えです。廃止されたブランチをアーカイブする方法を検討してください。
svn cp /trunk/ /branch/NEW_Branch
トランクにローカルの変更がある場合は、変更Rsync
を同期するために使用します
rsync -r -v -p --exclude ".svn" /trunk/ /branch/NEW_Branch
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
新しい SVN ユーザー向けのヒント。これは、正しい URL をすばやく取得するのに少し役立つ場合があります。
実行svn info
して、現在チェックアウトされているブランチに関する有用な情報を表示します。
URL は (ルート フォルダーで svn を実行する場合) コピー元の URL を提供する必要があります。
また、新しく作成したブランチに切り替えるには、次のsvn switch
コマンドを使用します。
svn switch http://my.repo.url/myrepo/branches/newBranchName
通常は svn+ssh://host.example.com/repos/project/branches/mybranch にコピーして、リポジトリに複数のブランチを保持できるようにしますが、構文は有効です。
リポジトリ レイアウトの設定方法に関するアドバイスを次に示します。
ブランチのマージを計画している場合でも、これを確認することを強くお勧めします。
Subversion 1.5 ではより多くのマージ トラッキングが組み込まれていると聞きましたが、私はその経験がありません。私のプロジェクトは 1.4.x で、svnmerge.py は命の恩人です!
- 現在のプロジェクトの外に新しいフォルダーを作成します。任意の名前を付けることができます。(例: "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ボタンを押します。これで、ログが表示されます...作業コピーがブランチに保存されます。
- これで、チェックアウトして、仕事を楽しむことができます。:)