チュートリアル : バージョン管理の高度な機能
更新 : 2007 年 11 月
このチュートリアルでは、Team Foundation バージョン管理で分岐、マージ、およびラベルを使用する方法について説明します。
このチュートリアルを始めるためには、バージョン管理項目の分岐、マージ、およびラベルの適用について、基本事項を理解しておく必要があります。
分岐 Team Foundation バージョン管理で分岐を実行すると、Team Foundation サーバー上の指定したファイルおよびフォルダのセットが、"分岐" と呼ばれる新しい場所にコピーされます。つまり、分岐によって、既存のフォルダまたはファイルに基づいて新しいフォルダまたはファイルが作成されます。分岐では、分岐するフォルダおよびファイルの履歴が保持されます。これによって、古いファイルから新しいファイルに変更をマージできます。分岐は、ソース管理エクスプローラを使用するか、Branch コマンド を使用してコマンド ラインから実行できます。詳細については、「分岐について」を参照してください。
マージ マージとは、別の分岐に存在する 2 つの異なるバージョンのファイル、フォルダ、またはチーム プロジェクトを結合するプロセスのことです。一方がソース分岐、他方がターゲット分岐です。ソース分岐は、ターゲット分岐にマージされる項目を含みます。これらのフォルダとファイルのバージョンは、変更セット、日付、ラベル、ワークスペース、または最新バージョンに基づいて決定されます。詳細については、「分岐について」を参照してください。マージを実行するには、ソース管理エクスプローラを使用するか、コマンド ラインで Merge コマンドを使用します。
ラベル付け ラベルは、バージョン管理サーバー上にある通常は関連のないファイルおよびフォルダのセットに選択的に追加できるマーカーです。これによって、特定の項目の集まりを開発またはビルドの目的でワークスペースに簡単に取り込むことができます。
このトピックでは、分岐操作を実行して新しい分岐および元の分岐に含まれるチーム メンバのファイルを編集する方法を説明します。さらに、編集結果をチェックインしてマージします。マージによって、検出された競合が示されます。それらの競合は解決する必要があります。最後に、変更セットにラベルを適用します。
前提条件
このチュートリアルを実行する前に、次の操作を行う必要があります。
Team Foundation サーバーを指定します。Team Foundation サーバーへの接続方法の詳細については、「方法 : Team Foundation Server に接続する」を参照してください。
既存のチーム プロジェクトを開きます。詳細については、「チュートリアル : チーム プロジェクトへの参加」を参照してください。
プロジェクトをバージョン管理に追加し、バージョン管理ファイルの格納、編集、およびテストを行うローカル ワークスペースを作成します。
Visual Studio ソリューションを作成し、そのソリューションに対してバージョン管理チェックインを実行します。詳細については、「ソリューション エクスプローラからバージョン管理へのプロジェクトとソリューションの追加」を参照してください。
「チュートリアル : Team Foundation のバージョン管理について」の手順を実行します。
このチュートリアルを実行するには、次のセキュリティ アクセス許可が必要です。
PendChange
Checkin
必要なアクセス許可
このチュートリアルを行うには、[PendChange] と [Checkin] のアクセス許可が必要です。
バージョン管理項目の分岐
次の手順では、分岐操作の実行方法について説明します。分岐は、既存のフォルダやファイルを基に新しいフォルダやファイルを作成できる Team Foundation バージョン管理の機能です。詳細については、「分岐について」および「方法 : ファイルとフォルダを分岐する」を参照してください。
注意 : |
---|
次の手順は、「チュートリアル : Team Foundation のバージョン管理について」の手順を完了していることを前提としています。 |
バージョン管理の項目を分岐するには
[表示] メニューの [その他のウィンドウ] をポイントし、[ソース管理エクスプローラ] をクリックします。ソース管理エクスプローラが開きます。
ソース管理エクスプローラで、「チュートリアル : Team Foundation のバージョン管理について」で作成した MyWindowsApp.sln ソリューション ファイルがある MyWindowsApp フォルダを開き、そのフォルダを右クリックして [分岐] をクリックします。
[分岐] ダイアログ ボックスの [ターゲット] ボックスで、分岐の場所と名前の末尾に「Test Branch」を追加して新しい場所と名前に変更します。または、[参照] をクリックして場所を探すこともできます。
メモ : ターゲット分岐には、文字列 "-分岐" が自動的に付加されます。
[バージョンからの分岐] セクションで、[ユーザー名] ボックスの一覧で [最新バージョン] を選択します。
[OK] をクリックします。
Team Foundation バージョン管理によって新しい分岐が作成され、ソース管理エクスプローラに表示されます。
[MyWindowsApp のテスト用分岐] という名前の新しい分岐フォルダをダブルクリックします。
[保留中の変更] 列で、新しい分岐の各項目のステータスが "分岐" になっていることを確認します。
分岐は保留中の変更であるため、チェックインを実行して分岐を適用する必要があります。[MyWindowsApp のテスト用分岐] フォルダを右クリックし、[保留中の変更をチェックイン] をクリックします。
[チェックイン] ダイアログ ボックスで、コメント テキスト ボックスに「Test branch」と入力して、[チェックイン] をクリックします。
メモ : チーム プロジェクトに有効なチェックイン ポリシーが存在する場合は、作業項目またはチェックイン メモの関連付けを実行してから続行しなければならないこともあります。詳細については、「方法 : 作業項目を変更セットに関連付ける」および「方法 : チェックイン メモを変更セットに関連付ける」を参照してください。
ソース管理エクスプローラの [保留中の変更] 列に空白のエントリが表示されます。これは、新しい分岐がチェックインされたことを示します。
これで、新しい分岐が正常に作成され、チェックインされました。次の手順では、元の分岐と新しい分岐の両方のファイルに変更を加えます。
分岐への変更の適用
次に、両方の分岐の同じファイルにそれぞれ別の競合する変更を加えます。後の手順で、両方の分岐をマージし、マージ競合を解決します。次の手順では、両方の分岐に含まれるファイルをチェックアウトして編集する方法を説明します。
バージョン管理の分岐でのファイルのチェックアウトと編集
前の手順で作成した新しい分岐で、[MyWindowsApp のテスト用分岐] フォルダを展開します。右側のペインで「チュートリアル : Team Foundation のバージョン管理について」で作成した Class1.cs ファイルを見つけて右クリックし、[編集用にチェックアウト] をクリックします。
[チェックアウト] ダイアログ ボックスで、[チェックアウト] をクリックします。
ソース管理エクスプローラに、ファイルの [保留中の変更] のステータスが "編集" と表示されます。
Class1.cs ファイルをダブルクリックして編集用に開きます。
Class1.cs ファイルに次のコードの強調表示された部分を追加します。
using System; using System.Collections.Generic; using System.Text; namespace MyWindowsApp { class Class1 { string SourceControlMerge = "New branch"; } }
[ファイル] メニューの [Class1.cs を保存] をクリックします。
ソース管理エクスプローラで、Class1.cs ファイルを右クリックして [保留中の変更をチェックイン] をクリックします。
[チェックイン] ダイアログ ボックスで、コメント テキスト ボックスに「New branch changes」と入力して、[チェックイン] をクリックします。
メモ : チーム プロジェクトに有効なチェックイン ポリシーが存在する場合は、作業項目またはチェックイン メモの関連付けを実行してから続行しなければならないこともあります。詳細については、「方法 : 作業項目を変更セットに関連付ける」および「方法 : チェックイン メモを変更セットに関連付ける」を参照してください。
ソース管理エクスプローラの [保留中の変更] 列に Class1.cs ファイルの空白のエントリが表示されます。これは、編集内容がチェックインされたことを示します。
次に、元の分岐に変更を加えます。この手順は、基本的に上記の手順と同じです。
ソース管理エクスプローラで、MyWindowsApp という元の分岐を含むフォルダを開きます。
元の分岐の [MyWindowsApp] フォルダを展開します。右側のペインで「チュートリアル : Team Foundation のバージョン管理について」で作成した Class1.cs ファイルを見つけて右クリックし、[編集用にチェックアウト] をクリックします。
[チェックアウト] ダイアログ ボックスで、[チェックアウト] をクリックします。
ソース管理エクスプローラに、ファイルの [保留中の変更] のステータスが "編集" と表示されます。
Class1.cs ファイルをダブルクリックして編集用に開きます。
Class1.cs ファイルに次のコードの強調表示された部分を追加します。
using System; using System.Collections.Generic; using System.Text; namespace MyWindowsApp { class Class1 { string SourceControlMerge = "Original branch"; } }
[ファイル] メニューの [Class1.cs を保存] をクリックします。
ソース管理エクスプローラで、Class1.cs ファイルを右クリックして [保留中の変更をチェックイン] をクリックします。
[チェックイン] ダイアログ ボックスで、コメント テキスト ボックスに「Original branch changes」と入力して、[チェックイン] をクリックします。
メモ : チーム プロジェクトに有効なチェックイン ポリシーが存在する場合は、作業項目またはチェックイン メモの関連付けを実行してから続行しなければならないこともあります。詳細については、「方法 : 作業項目を変更セットに関連付ける」および「方法 : チェックイン メモを変更セットに関連付ける」を参照してください。
ソース管理エクスプローラの [保留中の変更] 列に Class1.cs ファイルの空白のエントリが表示されます。これは、編集内容がチェックインされたことを示します。
これで、分岐が正常に作成され、元の分岐および新しい分岐に変更が適用されました。次の手順では、両方の分岐に加えた変更をマージする方法を示します。
バージョン管理項目のマージ
分岐に含まれるファイルに変更を加えたら、マージを実行できます。次の手順では、ソース管理エクスプローラを使用してマージを実行する方法について説明します。詳細については、「マージについての情報」および「方法 : ファイルおよびフォルダをマージする」を参照してください。
バージョン管理の分岐をマージするには
ソース管理エクスプローラで、[MyWindowsApp のテスト用分岐] フォルダを右クリックし、[マージ] をクリックします。
ソース管理マージ ウィザードの [ソース分岐] ボックスに、MyWindows App Test Branch フォルダのパスと名前が表示されます。
[ターゲット分岐] ボックスの一覧で [MyWindowsApp] フォルダをクリックします。
[マージするソース分岐の変更を選択します] で、[特定のバージョンまでのすべての変更] をクリックし、[次へ] をクリックします。
[ソース項目のバージョンの選択] で、[バージョンの種類] ボックスの一覧の [最新バージョン] を選択し、[次へ] をクリックします。
[マージ操作の実行] で、[完了] をクリックします。
ソース分岐とターゲット分岐に相違があるため、[競合の解決] ダイアログ ボックスが表示されます。次の手順に従って競合を解決します。競合がない場合、[競合の解決] ダイアログ ボックスは表示されません。
マージの競合の解決
2 つの分岐に含まれるファイルが異なるため、分岐間の競合を解決するための操作を実行するように求められます。詳細については、「方法 : 2 つのファイルの競合を解決する」を参照してください。マージ競合を解決するには、次の手順を実行します。
マージの競合を解決するには
[競合の解決] ダイアログ ボックスで、[競合の解決] をクリックします。
[バージョンの競合の解決] ダイアログ ボックスが開きます。
[バージョンの競合の解決] ダイアログ ボックスの [解決オプション] で、[マージ ツールで変更をマージ] をクリックし、[OK] をクリックします。
マージ ツールで、[次の競合] をクリックして 2 つのファイルの競合を見つけます。ファイルは左右に並んで表示されます。2 つのファイルには、前の手順で入力した文字列 (Original branch と New branch) が示されます。
New branch という文字列が含まれるコードをクリックします。
変更内容が下のペインに表示されます。
[OK] をクリックします。
[Microsoft Visual Studio] ダイアログ ボックスで、[はい] をクリックしてファイルを保存します。
マージ結果を受け入れるかどうかを確認するメッセージが表示されます。[はい] をクリックしてマージしたファイルを保存します。
[競合の解決] ダイアログ ボックスで、[閉じる] をクリックします。
ソース管理エクスプローラで、[MyWindowsApp] フォルダを右クリックし、[保留中の変更をチェックイン] をクリックします。
[チェックイン] ダイアログ ボックスが表示されます。
[チェックイン] ダイアログ ボックスで、[チェックイン] をクリックします。
メモ : チーム プロジェクトに有効なチェックイン ポリシーが存在する場合は、作業項目またはチェックイン メモの関連付けを実行してから続行しなければならないこともあります。詳細については、「方法 : 作業項目を変更セットに関連付ける」および「方法 : チェックイン メモを変更セットに関連付ける」を参照してください。
これで、分岐が正常に作成され、元の分岐および新しい分岐に変更が加えられました。また、2 つの変更がマージされ、マージによる競合が解決されました。次の手順では、Team Foundation バージョン管理でのラベルの使用方法を説明します。
バージョン管理項目へのラベル付け
Team Foundation バージョン管理では、ラベルとは、リビジョンの特定のセットに適用される名前です。スナップショット ビルドと呼ばれることもあります。ラベルは、ファイルの 1 つのリビジョンに対してのみ適用できます。ラベルを使用すると、特定のリビジョンのファイル セットの整理が容易になります。詳細については、「ラベルの操作」および「方法 : ラベルを適用する」を参照してください。
バージョン管理にラベルを適用するには
ソース管理エクスプローラで、前の手順で作成した [MyWindowsApp のテスト用分岐] フォルダを開き、そのフォルダを右クリックして [ラベルの適用] をクリックします。
[項目のバージョンの選択] ダイアログ ボックスの [MyWindowsApp のテスト用分岐] フォルダを選択します。
[種類の項目] ボックスを [すべてのファイル (*.*)] に設定し、[OK] をクリックします。
[ラベルの適用] ダイアログ ボックスの [名前] ボックスに、「MyWindowsApp label test」と入力します。
[コメント] ボックスに「All files for building version of MyWindowsApp」と入力します。
[項目] の [追加] をクリックします。
[項目のバージョンの選択] ダイアログ ボックスの [検索場所] ボックスの一覧に、作業中のチーム プロジェクトが含まれていることを確認します。
[MyWindowsApp のテスト用分岐] フォルダ内で Class1.cs ファイルを見つけ、選択します。
[バージョン] ボックスの一覧で [最新バージョン] を選択します。
[OK] をクリックします。
設定済み項目が示された [ラベルの適用] ダイアログ ボックスが、Team Foundation バージョン管理によって表示されます。
[OK] をクリックします。
参照
概念
参照
Label コマンド (Team Foundation バージョン管理)