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
などのバージョンを提供します。 使用できる値は、date
、tip
、または特定の変更セットです。 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 が添付され、ファイル名が変更されます。
TFVC リポジトリ コード検索に対する tf destroy の影響
コード検索では 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 です。
関連記事
- バージョン管理されたファイル を破棄する
- tf コマンド ライン からのみ使用できる操作