次の方法で共有


Unshelve コマンド (Team Foundation バージョン管理)

Azure DevOps Services の |Azure DevOps Server 2022 - Azure DevOps Server 2019

Visual Studio 2019 |Visual Studio 2022

Team Foundation Version Control (TFVC) unshelve コマンドは、シェルブされたファイル リビジョン、チェックイン ノート、コメント、作業項目の関連付けを現在のワークスペースに復元します。 unshelve コマンドを使用して、サーバーから既存のシェルブセットを削除することもできます。

前提 条件

  • unshelve コマンドを使用するには:
    • 読み取り アクセス許可 許可に設定します。
    • シェルブセット内のアイテムの チェックアウト アクセス許可を[を許可]設定します。
  • シェルブセットを削除するには、その所有者であるか、グローバルアクセス許可 管理の変更を許可設定します。

詳細については、「既定の TFVC アクセス許可 」を参照してください。

構文

tf unshelve [/move] [<shelveset-name>[;<owner-name>]] <item-spec> 
[/recursive] [/noprompt][/login:<username>,[<password>]]

パラメーター

以降のセクションでは、unshelve コマンドの引数とオプションについて説明します。

引数

引数の

説明

<shelveset-name>

復元するシェルブセットの名前を指定します。

<owner-name>

シェルブセット所有者のユーザー名を指定します。

<item-spec>

現在のワークスペースに展開するファイルまたはフォルダーのリビジョンを識別します。 このパラメーターが含まれていない場合、既定では、指定されたシェルブセット内のすべての保留中の変更はシェルブされません。 サーバー パスは許可されません。

TFVC が <item-spec> 値を解析してスコープ内にある項目を決定する方法の詳細については、「Team Foundation バージョン管理コマンドを使用する - オプションを使用してコマンドが機能する方法を変更する」を参照してください。

手記

複数の <item-spec> 引数を指定できます。

<username>

/login オプションに値を提供します。 この値は、DOMAIN\<username> または <username>として指定できます。

<password>

/login オプションに値を提供します。

オプション

オプションの

説明

/move

シェルブセットを正常にアンシェルブした後、指定されたシェルブセットを Azure DevOps サーバーから削除します。 このオプションを <item-spec> 値と組み合わせることはできません。

shelve コマンドを使用してシェルブセットを削除することもできます。

/recursive

<item-spec> 値を再帰的に照合することを指定します。

/noprompt

TFVC が入力を求めてはならないことを指定します。

/login

Azure DevOps でユーザーを認証するためのユーザー名とパスワードを指定します。

備考

tf コマンド ライン ユーティリティの unshelve コマンドは、すべてのシェルブファイルリビジョンまたはすべてのシェルブファイルリビジョンの定義済みサブセットを Azure DevOps サーバーから取得します。 その後、このコマンドは現在のワークスペースに変更履歴を格納します。

アイテムのシェルブを解除するには、宛先ワークスペースに保留中のリビジョンが存在しない必要があります。

シェルブセットをアンシェルブすると、リビジョンがワークスペースで既に保留中の変更と競合しない限り、TFVC はシェルブされた各リビジョンを保留中の変更として宛先ワークスペースに復元します。 アンシェルブ プロセス中の動作の詳細については、「シェルブセットを使用する」を参照してください。

unshelve コマンドを使用すると、シェルブセットからワークスペースに個々のファイル リビジョンを復元できます。 unshelve コマンドを実行した後、get コマンドを実行して、シェルブセットの作成以降にサーバーにチェックインされたすべての変更を調整します。

tf コマンド ライン ユーティリティの使用方法の詳細については、「Team Foundation バージョン管理コマンド使用する」を参照してください。

シェルブされた変更をリサイクルする

現在のワークスペースにシェルブされたリビジョンを統合して継続的なリビジョンを作成する場合は、必要なシェルブセットを解除します。 ベスト プラクティスとして、サポートを解除した後も、バージョン管理されたファイルの最新バージョンを取得します。

別のユーザーのコードをアンシェルブして確認する

また、別のユーザーのワークスペースからの変更を確認するために、シェルブセットをアンシェルブすることもできます。 この理由でシェルブを解除するには、次の 2 つのオプションがあります。

  • 1 つ目のオプションは、棚付けされた項目と関連項目が改訂されていない場合、またはシェルブセットが作成されてから軽く改訂された場合に適しています。 この場合、シェルブセット所有者のワークスペースから、関連するすべての項目の基本バージョンを取得できます。 このオプションを使用するには、次のコマンドのバリエーションを実行します。tf get \* /version;W<workspace-name><workspace-name> は、他のユーザーがシェルブセットを作成したワークスペースの名前です。

  • 2 番目のオプションは、大幅な時間が経過した場合、またはシェルブセットの作成後にワークスペースに複数のリビジョンが含まれている場合に適しています。 この場合、シェルブセットが作成された日時の時点で、サーバーからすべての関連項目のバージョンを取得できます。

シェルブセット名にユーザー名を追加することで、別のユーザーのシェルブされた変更を解除できます。 ただし、AdminShelvedChangesets アクセス許可がある場合にのみ、別のユーザーによって作成されたシェルブセットを Azure DevOps サーバーから削除できます。

移行先ワークスペースで保留中の変更があるアイテムをアンシェルブしようとすると、TFVC はアイテム間の違いをマージせず、リビジョンをワークスペースに取得しません。

シェルブセットは、tf shelve /deleteを使用して削除できます。 詳細については、shelve コマンド参照してください。 シェルブセット全体をアンシェルブした後にシェルブセットを自動的に削除するには、tf unshelve /moveを使用します。

次の例では、[シェルブ解除] ダイアログ ボックスを開き、現在のワークスペースでシェルブ セットを見つけてアンシェルブできるようにします。 また、このダイアログ ボックスには、シェルブ解除操作が完了したときにシェルブセットを削除するオプションもあります。

c:\>tf unshelve

次の例では、シェルブセットbuddytest_1256を現在のワークスペースに固定解除し、Azure DevOps Server から削除します。

c:\>tf unshelve /move buddytest_1256