シェルブセットの操作

シェルブを行うと、保留中の変更のバッチを一時的に中断し、必要な場合はワークスペースから保留中の変更を削除できます。 シェルブ操作の製品は、シェルブセットと呼ばれます。 シェルブセットでの変更は、後で自分のワークスペースや別のユーザーのワークスペースに復元できます。

変更セットとシェルブセットの相違点

ワークスペースで 1 つまたは複数の保留中の変更をチェックインすると、Team Foundation によりソース管理サーバーに変更セットが作成されます。 変更セットは、ソース ファイル リビジョン、チェックイン メモ、コメント、および関連する作業項目へのリンクのグループです。 同様に、シェルブセットは、ソース ファイル リビジョン、チェックイン メモ、コメント、および関連する作業項目の一覧のグループです。 ただし、シェルブセットにはコミットおよびバージョン管理された変更のコレクションは含まれていません。 シェルブセットと変更セットは、どちらも Team Foundation サーバーに保存され、十分なアクセス許可を持つどのユーザーでもワークスペースに取得できます。

変更セットとシェルブセットの他の相違点は次のとおりです。

  • 変更セットとは異なり、シェルブセットはバージョンなしのエンティティです。 シェルブセットを構成する項目を自分や他のユーザーがアンシェルブし、いくつかのファイルを編集してシェルブセットを再シェルブした場合、Team Foundation では今後の比較のために項目の新しいバージョンは作成されず、項目を変更したユーザー、日時、または方法のレコードは保持されません。 元のシェルブセットは、完全に置き換えられます。

  • シェルブセットは変更できますが、変更セットは削除できません。

  • ユーザーが作業項目フォームの [リンク] タブで変更セット リンクをクリックした際に、変更セットが自動的に現在のワークスペースに取り込まれるように、変更セットから作業項目へのリンクを設定できます。 この機能は、シェルブセットではサポートされません。

  • チェックイン ポリシーを作成して適用することにより、ユーザーがチームの確立された標準に準拠しない変更セットを作成しないように強制できます。少なくとも強く要求できます。 この機能は、シェルブセットではサポートされません。

シェルブの目的

保留中の変更のセットをチェックインする準備ができていないか、チェックインできない場合に、保留中の変更をシェルブします。 シェルブを行う主に 5 つの状況があります。

  • 中断   チェックインの準備ができていない保留中の変更があるが、別のタスクを行う必要がある場合、保留中の変更をシェルブして、保留中の変更を中断できます。

  • 統合   チェックインの準備ができていない保留中の変更があるが、別のチーム メンバーとそれらを共有する必要がある場合、保留中の変更をシェルブして、チーム メンバーにアンシェルブしてもらうことができます。

  • レビュー   チェックインの準備ができていて、レビューする必要のある保留中の変更がある場合、変更をシェルブして、シェルブセットについてコード レビューアーに通知できます。

  • ビルド   変更をチェックインするときには、ビルド システムを使用して、シェルブセット内の変更によって、夜間ビルドなどの定期的にスケジュールされたビルド処理が中断されないようにします。 この検証は、プライベート ビルドをキューに配置して手動で行うか、またはゲート チェックインを実装して自動的に行うことができます。

  • バックアップ   バックアップする必要のある作業が進行中だがチェックインの準備ができていない場合、変更をシェルブして Team Foundation サーバーに保存できます。

  • ハンドオフ   別のチーム メンバーが完了する必要のある作業が進行中の場合、変更をシェルブしてハンドオフしやすくできます。

シェルブセットの作成

シェルブセットは、ソース管理エクスプローラー、[保留中の変更] ウィンドウ、またはメニューのいずれかから作成できます。 シェルブセットを作成する方法の詳細については、「保留中の変更のシェルブおよびアンシェルブ」を参照してください。

シェルブされた変更のアンシェルブ

変更セットは、Get コマンドを使用してワークスペースに復元できるのに対して、シェルブセットを復元するには Unshelve コマンド を使用する必要があります。 [保留中の変更] ウィンドウの [アンシェルブ] ボタンを使用すると、シェルブセット内の保留中の変更を 1 つ、複数、またはすべてワークスペースに復元できます。 [保留中の変更] ウィンドウの詳細については、「保留中の変更のチェックイン」を参照してください。 Visual Studio を使用してシェルブセット内のすべての変更をワークスペースにアンシェルブすると、項目に関連付けられた保留中の変更の情報も、[保留中の変更] ウィンドウに復元されます。 詳細については、「保留中の変更のシェルブおよびアンシェルブ」を参照してください。

シェルブセットをアンシェルブする場合、Team Foundation は、ワークスペースで既に保留中の変更と競合しない限り、シェルブされた各リビジョンを対象のワークスペースに保留中の変更として復元します。

  • 編集   元のワークスペースのバージョンの内容が、Team Foundation により復元先のバージョンにコピーされ、ファイルが編集用にチェックアウトされます。

  • 削除   シェルブされたファイルおよびフォルダーが、元のワークスペースへの保留中のチェックインから削除された場合、復元先のワークスペースからは削除されます。

  • 追加   シェルブされたファイルおよびフォルダーが、元のワークスペースへの保留中のソース管理チェックインに追加された場合、復元先のワークスペースに追加されます。

  • 名前変更と移動   シェルブされたファイルおよびフォルダーが、元のワークスペース内で名前変更または移動された場合は、名前変更されるか、復元先のワークスペースの新しい各フォルダーに移動されます。

    重要

    対象のワークスペースに保留中のリビジョンがある場合、項目をアンシェルブすることはできません。

シェルブされたファイルとその基本シェルブセット バージョンの比較

Visual Studio で Unshelve コマンドを使用するか、コマンド ラインから Difference コマンド を使用すると、シェルブセット内のシェルブされたファイル リビジョンの 1 つ、複数、またはすべてを、そのファイル リビジョンの基になった項目のサーバー バージョンである基本シェルブセット バージョンを比較できます。

シェルブセットの削除

ソース管理サーバーに永続的に保存される変更セットとは異なり、シェルブセットはサーバーから削除できます。

ヒント

削除されたファイルとは異なり、シェルブセットは永続的に削除され、ソース管理から取得することはできません。

Visual Studio を使用してシェルブセットを削除する方法の詳細については、「シェルブセットの削除」を参照してください。 コマンド ライン インターフェイスを使用してシェルブセットを削除する方法の詳細については、「Shelve コマンド」を参照してください。

このセクションの内容

参照

Team Foundation バージョン管理のコマンド ライン リファレンス

参照

概念

変更セットの操作

その他の技術情報

ビルドをキューに配置する

ゲート チェックイン ビルドの定義と変更内容の検証