保留中の変更のシェルブおよびアンシェルブ
シェルブを使用すると、ワークスペースの保留中の変更作業を中断して、優先度の高いタスクを実行したり、またはコード レビューのために別のユーザーとコードを共有できます。
最新バージョンの取得操作を実行し、ワークスペースを最新のサーバー バージョンと同期させます。 次に、アプリケーションをビルドして、シェルブまたはチェックインの前にコンパイルできることを確認する必要があります。 この方法で、ワークスペースの外部で行われた変更をバージョン管理されたファイルに組み込むことができます。
必要なアクセス許可
保留中の変更をアンシェルブするには、[読み取り] および [チェックアウト] のアクセス許可が [許可] に設定されている必要があります。 シェルブ タスクを実行するために必要なアクセス許可はありません。 詳細については、「Team Foundation Server のアクセス許可」を参照してください。
ソース管理エクスプローラーからフォルダーとファイルをシェルブするには
ソース管理エクスプローラーで、ファイルまたはフォルダーを右クリックし、[保留中の変更をシェルブ] をクリックします。
[シェルブ - ソース ファイル] ダイアログ ボックスの [シェルブセット名] ボックスにシェルブセット名を「shelvetest」のように入力します。
[シェルブ - ソース ファイル] ダイアログ ボックスが開き、次の 2 つのオプションが表示されます。
[保留中の変更をローカルに保存する]
既定では、このチェック ボックスはオンになっています。 このオプションがオンになっていると、ローカル ワークスペースのファイルやフォルダーに加えた変更は保持されます。
[シェルブする前に、ポリシーおよびチェックイン メモを評価]
このオプションがオンになっていると、シェルブセットが作成される前にすべてのチェックイン ポリシーが評価されます。 詳細については、「品質ゲートの設定と適用」を参照してください。
[コメント] ボックスに「シェルブセットのテスト」と入力し、[シェルブ] をクリックします。
ファイルとフォルダーがバージョン管理サーバーにコピーされ、他のチーム メンバーがアンシェルブを実行できるようになります。
ソリューション エクスプローラーからフォルダーとファイルをシェルブするには
ソリューション エクスプローラーで右クリックし、[保留中の変更をシェルブ] をクリックします。
[シェルブ - ソース ファイル] ダイアログ ボックスの [シェルブセット名] ボックスにシェルブセット名を「shelvetest」のように入力します。
[シェルブ - ソース ファイル] ダイアログ ボックスが開き、次の 2 つのオプションが表示されます。
[保留中の変更をローカルに保存する]
既定では、このチェック ボックスはオンになっています。 このオプションがオンになっていると、ローカル ワークスペースのファイルやフォルダーに加えた変更は保持されます。
[シェルブする前に、ポリシーおよびチェックイン メモを評価]
このオプションがオンになっていると、シェルブセットが作成される前にすべてのチェックイン ポリシーが評価されます。 詳細については、「品質ゲートの設定と適用」を参照してください。
[コメント] ボックスに「シェルブセットのテスト」と入力し、[シェルブ] をクリックします。
ファイルとフォルダーがバージョン管理サーバーにコピーされ、他のチーム メンバーがアンシェルブを実行できるようになります。
[保留中の変更] ウィンドウから保留中の変更をシェルブするには
Visual Studio 統合開発環境 (IDE: Integrated Development Environment) で、[表示] メニューをクリックし、[その他のウィンドウ] をクリックします。次に、(ウィンドウがまだ開いていない場合は) [保留中の変更] をクリックします。
[保留中の変更] ウィンドウで、[ソース ファイル] アイコンをクリックし、シェルブするファイルを選択します。
[作業項目] をクリックし、作業項目を追加または削除します。 追加する各作業項目に対して、[チェックイン動作] 列から [解決] または [関連付け] を選択します。
[保留中の変更をローカルに保存する] チェック ボックスまたは [シェルブする前に、ポリシーおよびチェックイン メモを評価] チェック ボックスをオンまたはオフにします。
注意
シェルブ操作は、選択するオプションによって、バージョン管理されたファイルのリビジョン、チェックイン メモ、および関連する作業項目の一覧をサーバーの外部の場所に移動またはコピーします。 したがって、誤ってビルドを破壊するリスクを回避できます。
[シェルブ] をクリックします。
[シェルブ - ソース ファイル] ダイアログ ボックスの [シェルブセット名] ボックスに名前を入力します。
[コメント] ボックスに名前を入力し、[シェルブ] をクリックします。
保留中の変更をコマンド ラインからシェルブするには
[スタート] ボタンをクリックし、[すべてのプログラム] をクリックします。次に [Microsoft Visual Studio 2005] をポイントし、[Visual Studio Tools] をポイントして、[Visual Studio 2005 コマンド プロンプト] をクリックします。
「cd path」と入力します。ここで、path は、サーバーに各自のファイルのコピーを格納するために使うディレクトリの場所です (c:\projects など)。
「tf.exe shelve shelvename」を入力して、Enter キーを押します。
[シェルブ - ソース ファイル] ダイアログ ボックスが表示されます。
[シェルブ - ソース ファイル] ダイアログ ボックスが開き、次の 2 つのオプションが表示されます。
[保留中の変更をローカルに保存する]
既定では、このチェック ボックスはオンになっています。 このオプションがオンになっていると、ローカル ワークスペースのファイルやフォルダーに加えた変更は保持されます。
[シェルブする前に、ポリシーおよびチェックイン メモを評価]
このオプションがオンになっていると、シェルブセットが作成される前にすべてのチェックイン ポリシーが評価されます。 詳細については、「品質ゲートの設定と適用」を参照してください。
[シェルブ - ソース ファイル] ダイアログ ボックスで、シェルブするファイルやフォルダーを選択し、[OK] をクリックしてシェルブ操作を完了します。
注意
shelve コマンドの完全な構文については、「Shelve コマンド」を参照してください。
アンシェルブ
シェルブセットをアンシェルブする場合、Team Foundation は、ワークスペースで既に保留中の変更と競合しない限り、シェルブされた各リビジョンを対象のワークスペースに保留中の変更として復元します。 アンシェルブ プロセスの処理の詳細については、「シェルブセットの操作」を参照してください。
シェルブセットをアンシェルブする一般的な 2 つの理由は次のとおりです。
手動の操作を必要としないコード レビュー (またはワークスペース偽装)
将来、シェルブされた保留中の変更を作業に統合します。
保留中の変更のセットをアンシェルブするには
チーム エクスプローラーで、[ファイル] メニューの [ソース管理] をポイントし、[保留中の変更をアンシェルブ] をクリックします。
[アンシェルブ] ダイアログ ボックスが表示されます。
[所有者名] ボックスに、シェルブセットを作成したユーザーのエイリアス (例: ADVENTUREWORKS\JuanGo または juango のみ) を入力し、[検索] をクリックします。
[結果] ペインで、ワークスペースにアンシェルブするシェルブセットを選択し、[詳細] をクリックします。
[シェルブセットの詳細] ダイアログ ボックスで、[シェルブセットをサーバーに保持する] チェック ボックスをオフにします (Team Foundation バージョン管理サーバーからシェルブセットを削除する場合)。
必要に応じて、シェルブセットに関連付けられている作業項目とチェックイン メモを復元しない場合は、[作業項目およびチェックイン メモの復元] オプションをオフにします。
ワークスペースにアンシェルブするシェルブセットまたはシェルブセット項目を選択し、[アンシェルブ] をクリックします。
ファイルの 2 つのバージョンの解決可能な相違を自動的にマージし、競合を手動でマージできるようにする Get 操作とは異なり、アンシェルブ操作はマージをサポートしていません。 コード レビューの開始時に、シェルブされた保留中の変更をワークスペースから削除することによって、ファイルへのコメントの追加などのレビュー担当者がシェルブセットに行う変更によって、アンシェルブ処理中に競合のマージが発生しないようにできます。
アンシェルブは、Unshelve コマンドを使用してコマンド ラインから実行することもできます。