2009-09-22 4 views

答えて

179

作業ディレクトリがトランクから取り組んでいると仮定:

は、「ルート作業フォルダ」(この用語は常にWindowsエクスプローラを指します)を右クリックし、最新のトランクにあなたの作業フォルダを更新するsvn updateを行います。

安定していることを確認してください。

ルートワークフォルダを右クリックし、svn commitを実行して、ローカル変更がトランクにコミットされていることを確認します。

ルートワークフォルダを右クリックし、svn repo-browserを実行します。

ブランチフォルダをリポジトリにまだ持っていない場合:トランクフォルダのすぐ上のフォルダを右クリックし、「フォルダを作成」してブランチフォルダを作成します(たとえば、トランクがhttp://myserver/svn/MyRepository/MyProj/Trunkhttp://myserver/svn/MyRepository/MyProj/Branchesを作成してください)。

トランクフォルダを右クリックし、Copy To:を実行し、ブランチの新しいフォルダ名を入力します。例:http://myserver/svn/MyRepository/MyProj/Branches/MyNewBranch。 (これはたくさんのスペースを無駄にすることを心配しないでください...これは "安価なコピー"と呼ばれています...実際には変更されない限りファイルの内容はコピーされません)。

閉じるRepo-browser。

作業フォルダのルートを右クリックし、次の操作を行います。svn switchを入力し、新しいブランチのフォルダ名を選択します(たとえば、http://myserver/svn/MyRepository/MyProj/Branches/MyNewBranch)。他のすべてはデフォルトのままにしておきます。

ブランチで作業します。マイルストーンを取得したら、ルートワークフォルダを右クリックし、svn commitを実行してブランチにコミットします。 (これはトランクには見られません)。

他のユーザーが同じブランチで作業している場合は、ルートワークフォルダから定期的にsvn updateを実行します。これはブランチから更新されます。

他の人が同じブランチで作業しているかどうかにかかわらず、ブランチが後で統合するのが難しくないように、定期的にトランクの変更をマージする必要があります。定期的なマージを行うには:作業フォルダのルートを右クリックし、svn mergeを実行します。 [リビジョンの範囲をマージ]を選択します。 [差し替え先のURL]で、トランクを選択します(たとえば、http://myserver/svn/MyRepository/MyProj/Trunk)。 リビジョン範囲を空白のままにし、それ以外はすべてそのままにします。次へをクリックします。すべてをそのままにして、Mergeをクリックします。すべてが動作することを確認してください...そうでない場合は修正してください。満足したら、ブランチから更新するために、ワークルートフォルダから通常のsvn updateを実行します(これは、SVNを満たすためにブランチで唯一の作業を行っている場合でも必要です)。次に、svn commitを実行して、マージされたトランクの変更をブランチにコミットします。この手順は、必要な回数だけ定期的に繰り返すことができます。

ブランチを統合する準備ができたら、前の手順1を最後に行い、最終テストを行います。支店への最後のコミットを行います。

ルートワークフォルダを右クリックし、もう一度svn switchを実行します。今回は、トランクに切り替えます(たとえば、)。これはブランチで行ったすべての作業を本質的に「元に戻す」という効果を持ちますが、心配する必要はありません。作業を取り戻すことができます。 (ブランチで変更していないファイルについても多くの更新が報告されますが、これらは単に "SVNプロパティ"の変更です...)

作業フォルダを右クリックしてくださいsvn mergeを実行します。今回は、「ブランチの再統合」を選択します。 URLの場合は、ブランチに入れます(たとえば、http://myserver/svn/MyRepository/MyProj/Branches/MyNewBranch)。残りをそのままにして、[次へ]をクリックします。すべてをそのままにして、Mergeをクリックします。今では、ブランチで行ったすべての作業と、トランクからの最新の作業が完了しました。

最終テストを行います。これはブランチでの最後のテストで持っていたのと同じファイルセットでなければならないので、すべてがうまくいくはずです。ルートワークフォルダを右クリックし、svn commitを実行します。ブランチで作業していないファイルも含めて、すべてをコミットします(SVNのプロパティは変更されましたが、コミットするとSVNはすべてのリビジョンを追跡できます)。

トランクは、ブランチで作業していた間にトランクで行われたすべてのブランチ作業とすべての作業をすべて完了しました。さらに、SVNには、すべてのファイルの完全な履歴、ブランチで作業している間にチェックインされたリビジョンまであります。

オプション:Repo-browserに入り、ブランチフォルダ(たとえば、http://myserver/svn/MyRepository/MyProj/Branches/MyNewBranch)を右クリックし、「削除」します。これはトランクには何の影響も与えず、ブランチがもう必要ありません。 (実際に編集した場合でも、いつでもRepoブラウザから削除したブランチを元に戻すことができるので、心配する必要はありません)

お気軽にコメントしてください!

+7

725語はシンプルですか? – RedFilter

+32

私は「シンプル」ではなく「シンプル」ではないと言っています:) – JoelFan

+12

これはとても役に立ちました、ありがとう! – Funka

関連する問題