次の方法で共有


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

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

Visual Studio 2019 |Visual Studio 2022

tf destroy コマンドを使用して、Team Foundation バージョン管理 (TFVC) からバージョン管理されたファイルを破棄または完全に削除します。

手記

Azure Devops 内の TFVC リポジトリの削除は、作成後は許可されません。 コマンド tf destroy では、バージョン管理されたファイルまたはフォルダーのみが破棄または完全に削除されますが、TFVC リポジトリは削除されません。 メッセージが削除されたオプションの一覧に引き続き表示されます。

場合によっては、バージョン管理システムをクリーンアップする必要があります。 たとえば、一部のファイルがコンピューター ウイルスに感染している場合は、バージョン管理から完全に削除する必要があります。 必要なファイルは破棄しないでください。 破棄アクションを元に戻すことはできません。

/keephistory オプションを指定せずに tf destroy を実行する前に、まず破棄するファイルを削除します。 詳細については、「バージョン 管理からファイルとフォルダーを削除する」を参照してください。

ファイルを削除した後、TFVC ウェアハウスを同期できます。 それ以外の場合、倉庫は破棄されたアイテムと同期されません。

前提 条件

destroy コマンドを使用するには、Team Foundation Administrators セキュリティ グループに属します。 詳細については、「既定の TFVC アクセス許可 」を参照してください。

構文

tf destroy [/keephistory] <itemspec1>[;<versionspec>][<itemspec2>...<itemspecN>] 
[/stopat:<versionspec>] [/preview] [/startcleanup] [/noprompt] [/silent] [/login:username,[password]] [/collection:TeamProjectCollectionUrl]]

パラメーター

引数

引数の

説明

<itemspec1> [<itemspec2>...<itemspecN>]

破棄するファイルまたはフォルダーのサーバー パスを指定します。 複数の itemspec 値を使用して、複数の項目を削除します。 たとえば、tf destroy $/TeamProject1 $/teamProject2 $/TeamProject3します。

ローカル パスはサポートされていません。

<versionspec>

/keephistory または /stopat オプションの C58 などのバージョンを提供します。 使用できる値は、datetip、または特定の変更セットです。 TFVC がバージョン仕様を解析してスコープ内にある項目を決定する方法の詳細については、「Team Foundation バージョン管理コマンドを使用する」を参照してください。

<username>

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

TeamProjectCollectionUrl

破棄するファイルを含むプロジェクト コレクションの URL (http://myserver:8080/tfs/DefaultCollectionなど)。

オプション

オプションの

説明

/keephistory

随意。 ファイルの内容が破棄されても、ファイルの履歴を保持することを指定します。 このオプションは、/preview オプションでは指定できません。

/stopat

随意。 /keephistory も指定されている場合にのみ使用できます。

ファイルのファイル バージョンと、その後に続くファイル (履歴を保持するファイル) を指定します。

/stopat の既定のバージョンは、アイテムのチェックインされた最新バージョンの tip (T) です。

ラベルまたはワークスペースの versionspec 値を使用して、/stopat オプションの項目を指定することはできません。

/preview

コマンド プロンプト ウィンドウで破棄されるファイルを表示します。 tf destroy プレビュー モードで実行されている場合、ファイルは実際には破棄されません。

手記

コマンド プロンプト ウィンドウのテキストには、破棄される各ファイル 破棄 という単語が表示されます。 ただし、/preview オプションが使用されている場合、ファイルは実際には破棄されません。

/startcleanup

削除が完了した直後に TFVC メタデータのクリーンアップ プロセスを強制的に開始します。 ユーザーが /startcleanupを指定しない場合、破棄されたメタデータのクリーンアップ プロセスは、データベースメンテナンスによって Azure DevOps Server によって参照されなくなったすべてのファイルをクリーンアップするときに発生します。 既定では、クリーンアップは 5 日ごとに実行されるようにスケジュールされています。 TFVC メタデータがクリーンアップされてから 7 日後、コンテンツは別のクリーンアップ プロセスによって削除されます。 既定では、このコンテンツのクリーンアップ プロセスは毎日 1 回実行されます。

/noprompt または /i

ファイルの破棄が非対話型であることを指定します。 /i は、/nopromptのエイリアスです。

/silent

ファイルまたはフォルダーを破棄するときに、出力がコマンド プロンプト ウィンドウに書き込まれないことを指定します。

/login

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

/collection

プロジェクト コレクションを指定します。

備考

tf destroy を使用してバージョン管理ファイルを破棄すると、TFVC のアプリケーション層は破棄要求を受け取り、Team Foundation Administrators セキュリティ グループのメンバーであるかどうかを確認します。 メンバーでない場合は、操作を実行するための十分なアクセス許可がないことを示すエラー メッセージ ダイアログ ボックスが表示されます。

システムはアクセス許可を検証した後、destroy コマンドを実行します。 このコマンドは、すべてのファイル参照、シェルブセット、保留中の変更を削除します。 永続的な削除であるファイルの実際の破棄は、次回 Azure DevOps Server によって参照されなくなったコンテンツがクリーンアップされるときに発生します。 /startcleanup オプションを指定して、tf destroy の実行直後にファイルをクリーンアップすることもできます。

/i/previewを指定せずに tf destroy を実行すると、filespec 値ごとにコンソール [はい] または [いいえ] プロンプトが表示されます。 それ以外の場合は、[すべてのに はい] を指定できます。

  • /keephistoryを指定しない場合は、保留中の変更が存在する場合に警告する対話型テキストが表示されます。 変更に関する詳細情報が必要な場合、対話型テキストは /preview を指します。

  • を指定すると、[はい]、[なし]、または [すべての テキストに [はい] を するように求められます。 [はい] 選択するか、[すべてのにはい] を すると、破棄処理が開始され、破棄された項目へのサーバー パスがコマンド プロンプト ウィンドウに表示されます。

Destroyed: <serverItem1>
Destroyed: <serverItem2>
Destroyed: ...

versionspec 値を tipとして指定した場合、コマンド プロンプト ウィンドウに表示されるサーバー パスには削除 ID が含まれます。 たとえば、コマンド プロンプト ウィンドウに Destroyed: $/Test1/MyProject;X123 が表示される場合があります。

/preview オプションを使用すると、ファイルは破棄されませんが、コマンド ライン テキストには破棄されるファイルが表示されます。 たとえば、コマンド ラインで「tf destroy /preview $/Test1/MyProject/MyProject/Program.cs」と入力すると、コマンド ウィンドウに次のテキストが表示されます。

Destroyed: $/Test1/MyProject/MyProject/Program.cs

ただし、/preview オプションを使用したため、ファイルは実際には破棄されません。

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

他のバージョン管理操作に対する /keephistory の影響

破棄されたファイルの履歴を保持する /keephistory オプションを指定した場合、ファイルは次の TFVC 操作によって破棄済みとして扱われます。

  • コンテンツを変更します。 編集や分岐など、破棄されたファイルの内容を変更しようとすると、コンテンツが破棄されたことを示すエラー メッセージがシステムによって発行されます。

  • ブランチ、マージ、またはシェルブ解除。 破棄されたアイテムを分岐、マージ、またはシェルブ解除しようとすると、アイテムの内容が破棄されたことを示すエラー メッセージがシステムによって発行されます。

以前に削除されたアイテムを破棄する

アイテムが既に削除されている場合は、削除 ID が添付され、ファイル名が変更されます。

コード検索では tf destroy 通知が処理されないため、TFVC リポジトリに tf destroy を使用しても、検索インデックスからファイルが自動的に削除されることはありません。 その結果、これらのファイルはコード検索結果に表示されます。 このようなゴースト ファイルのシナリオを回避するには、tf destroy 操作の前にファイルを削除します。

次の例では、a.csファイルを完全に削除します。

tf destroy $/proj/pi/a.cs

次の例では、aFolderフォルダーを削除します。

tf delete $/MyTeamProject/aFolder

aFolder削除済みアイテムを破棄するには、コマンド ラインで次のように入力します。

tf destroy $/MyTeamProject/aFolder;x123

ここで、x123 は削除 ID です。