フォルダーおよびファイルの分岐

 

発行: 2016年4月

分岐を使用すると、次の目的を達成できます。

  • 同じコードベース上での複数のチームによる同時実行作業の管理

  • さまざまな変更セットによってコードベースに導入されたリスクの分離

  • スナップショットの取得とそれ以降の個別の変更のサポート (たとえば、リリース ブランチの作成など)

たとえば、次の図は、DinnerNow 社がビジネス ニーズを満たす分岐構造を開発する方法を示しています。

[階層] ウィンドウ

[階層] ウィンドウに表示された DinnerNow 社の分岐構造

Feature Team A と Feature Team B は、それぞれ別の分岐で作業を実行します。 それらのチームの作業を統合する準備ができると、それぞれの分岐を Dev 分岐にマージします。 Dev 分岐からのビルドが安定してテストの準備ができると、それらのチームは Dev 分岐を Test 分岐にマージします。

それぞれのバージョンがリリースされると、Main 分岐が新しいバージョンの分岐 (Version1 分岐と Version2 分岐など) に分岐されます。 この方法により、過去のバージョンの製品を必要に応じて個別に強化または修正できます。

このトピックで説明されているようにソース管理エクスプローラーを使用するか、またはコマンド プロンプトで Branch コマンドを使用すると、分岐処理を実行できます。 詳細については、「Branch Command」を参照してください。

ヒント

分岐は、ファイルのバージョンのパラレル セットを作成するための重要で強力な手法です。しかし、分岐を使用するとプロジェクトが複雑になり、コストが高くなることがあります。たとえば、2 つの分岐をマージする場合、競合の解決が必要になることがあります。

要件を満たすためにはラベルを適用する方がよいかどうかを、分岐を作成する前に考慮する必要があります。ラベルを適用することで、ファイルの状態のスナップショットをすばやく簡単に取得し、後でその状態のファイルを取得またはビルドできます。詳細については、「ラベルを使用したファイルのスナップショット取得」を参照してください。

フォルダーから分岐への変換

Visual Studio Team Foundation Server 2010 のリリースでは、分岐とフォルダーを区別するようになりました。 次の図に、DinnerNow フォルダー構造の最上位レベルを示します。

ソース管理エクスプローラーのフォルダー構造

ソース管理エクスプローラーに表示された DinnerNow フォルダー構造

図に示すように、フォルダーを使用して、チーム プロジェクトのバージョン コントロールの階層内で分岐を編成できます。 ただし、フォルダーと分岐では表示形式も機能も異なります。 フォルダーまたは分岐を右クリックして [プロパティ] をクリックすると、表示される情報と機能はそれぞれ異なります。

分岐操作を実行した場合、分岐はフォルダーより大きな利点があります。 分岐は、分岐構造の詳細と、変更セットがマージされた場所の情報を表示するバージョン コントロール機能をサポートしています (詳細については、このトピックの「参照」セクション内のリンクを参照してください)。

フォルダーの分岐およびマージは使用できますが、ベスト プラクティスとして、分岐のみを分岐およびマージすることをお勧めします。 次の手順では、フォルダーを分岐に変換する方法について説明します。

必要なアクセス許可

次の手順を実行するには、[分岐の管理] のアクセス許可が [許可] に設定されている必要があります。 詳細については、「Team Foundation Server のアクセス許可の参照」を参照してください。

フォルダーから分岐に変換するには

  1. ソース管理エクスプローラーで、変換するフォルダーがサーバー上に存在することを確認します。

  2. 保留中の追加アイコン (TFSC 追加保留ステータス アイコン) がフォルダーの横に表示されている場合は、そのフォルダーを右クリックし、[保留中の変更のチェックイン] をクリックします。

  3. 変換するフォルダーを右クリックし、[分岐とマージ] をポイントし、[分岐に変換] をクリックします。

    [フォルダーを分岐に変換] ダイアログ ボックスが表示されます。

    重要   それまでに分岐したフォルダーを変更する場合は、[以前にこのフォルダーから分岐したすべてのフォルダーに対してこの変換を再帰的に実行する] チェック ボックスをオンにします。 このオプションでは、この 1 つのフォルダーから分岐されたすべてのフォルダーを分岐に変換します。

  4. (省略可能) [所有者] フィールドに、この分岐の所有者の名前を入力します。

    注意

    [所有者] フィールドは情報提供用です。[所有者] フィールドに名前があっても、追加のアクセス許可が与えられるわけではありません。

  5. (省略可能) [説明] フィールドに、この分岐を使用して目的を理解する必要がある他のチーム メンバーのために、役立つ情報を入力します。

  6. [変換] をクリックします。

重要

分岐を入れ子にはできません。したがって、他の分岐を含む、または他の分岐に含まれるフォルダーは、分岐に変換できません。たとえば、次の図は、FeatureTeamA 分岐の親も子も分岐に変換できないことを示しています。

フォルダーを分岐に変換した後に、チームで分岐構造の変更を決定した場合は、その分岐をフォルダーに戻すことができます。

分岐からフォルダーに変換するには

  1. ソース管理エクスプローラーで、変換する分岐をクリックします。

  2. [ファイル] メニューをクリックし、[ソース管理][分岐とマージ] の順にポイントし、[フォルダーに変換] をクリックします。

  3. [分岐をフォルダーに再変換] メッセージが表示されたら、[はい] をクリックします。

分岐の分岐

フォルダーを分岐に変換すると、その分岐から他の分岐を作成できます。 次の手順では、Visual Studio アプリケーション ライフサイクル管理 (ALM) のグラフィカル ユーザー インターフェイスを使用して分岐を分岐する方法を示します (コマンド プロンプトでこの作業を実行する方法については、「Branch Command」を参照してください)。

必要なアクセス許可

この手順を実行するには、ソース分岐とターゲット分岐へのパスに対する [分岐の管理] アクセス許可が [許可] に設定されている必要があります。 ターゲット分岐へのパスに対する [マージ] アクセス許可が [許可] に設定されている必要があります。 詳細については、「Team Foundation Server のアクセス許可の参照」を参照してください。

分岐を分岐するには

  1. ソース管理エクスプローラーで、分岐する分岐を右クリックし、[分岐とマージ] をポイントして [分岐] をクリックします。

    [分岐元] ダイアログ ボックスが表示されます。

  2. [ターゲット分岐名] ボックスで、新しい分岐へのパスを指定します。

  3. (省略可能) [バージョンからの分岐] セクションの [単位] ボックスで、次のオプションのいずれかをクリックします。

    • [最新バージョン] をクリックすると、バージョン コントロールの最新のバージョンに分岐が作成されます。

    • [変更セット] をクリックすると、[変更セット] ボックスに変更セット番号を指定できます。 または、省略記号 (...) をクリックして [変更セットの検索] ダイアログ ボックスを開きます。

      詳細については、「変更セットの検索と表示」を参照してください。

    • [日付] をクリックした場合は、[日付] ボックスで日付を指定できます。

  4. [分岐] をクリックします。

    分岐が作成され、ソース管理エクスプローラーに表示されます。

    メモ   大半のバージョン コントロール操作とは異なり、この操作では変更が保留されません。 即時に操作が完了し、操作を元に戻すことはできません。

フォルダーまたはファイルの分岐

フォルダーやファイルを直接分岐できますが、分岐しないことをお勧めします。 これを行った場合、分岐構造の表示変更セットのトラッキングを行えなくなります。 このトピックで前に説明したように、ベスト プラクティスとして、分岐のみを分岐およびマージすることをお勧めします。

しかし、特別にフォルダーまたはファイルを分岐する必要がある場合は、次の手順を使用してこのタスクを実行できます。 (コマンド プロンプトでこの作業を実行する方法については、「Branch Command」を参照してください)。

必要なアクセス許可

この手順を実行するには、ターゲット パスに対する [チェックアウト] アクセス許可と [マージ] アクセス許可が [許可] に設定されている必要があります。 詳細については、「Team Foundation Server のアクセス許可の参照」を参照してください。

フォルダーまたはファイルを分岐するには

  1. ソース管理エクスプローラーで、分岐するフォルダーまたはファイルを右クリックし、[分岐とマージ] をポイントして [分岐] をクリックします。

    [分岐] ダイアログ ボックスが表示されます。

  2. [ターゲット] ボックスで、新しい分岐の名前と場所を変更します。

    [参照] をクリックしてターゲットを指定することもできます。

  3. [バージョンからの分岐] セクションの [単位] ボックスで、次のオプションのいずれかをクリックします。

    • [最新バージョン] をクリックすると、バージョン コントロールの最新のバージョンに分岐が作成されます。

    • [変更セット] をクリックすると、[変更セット] ボックスに変更セット番号を指定できます。 または、省略記号 (...) をクリックして [変更セットの検索] ダイアログ ボックスを開きます。

      詳細については、「変更セットの検索と表示」を参照してください。

    • [日付] をクリックした場合は、[日付] ボックスで日付を指定できます。

    • [ラベル] をクリックすると、[ラベル] ボックスにラベル名を入力できます。 または、省略記号 (...) をクリックして [ラベルの検索] ダイアログ ボックスを開きます。

      詳細については、「ラベルを使用したファイルのスナップショット取得」を参照してください。

    • [ワークスペース バージョン] をクリックすると、ワークスペースのバージョンに分岐が作成されます。

  4. (省略可能) [新しい分岐のためのローカル作業コピーを作成] チェック ボックスをオンにして、バージョン管理された項目のコピーをローカル ワークスペースに作成します。 ローカル コピーが不要で、多くの項目を選択してコンピューターにダウンロードすることを回避してパフォーマンスを向上させる場合は、このチェック ボックスをオフにします。

  5. [OK] をクリックします。

    分岐が作成され、ソース管理エクスプローラーに表示されます。

    注意

    [新しい分岐のためのローカル作業コピーを作成] チェック ボックスをオンにして、指定したローカル フォルダーが現在のワークスペースにマップされていない場合は、[フォルダーの参照] ウィンドウが表示されます。フォルダーを参照するか [新しいフォルダーの作成] をクリックして、バージョン管理された項目に同期するフォルダーを指定し、次に [OK] をクリックします。

参照

ソース管理エクスプローラーを使用したバージョン管理下でのファイルの管理
変更セットがマージされた場所と時間の表示
チーム プロジェクトの分岐構造の表示
Branch Command
Branches Command
計画的な分岐
Visual Studio TFS Branching Guide (Visual Studio TFS 分岐ガイド)