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) からバージョン管理されたファイルを破棄または完全に削除します。
Note
Azure Devops 内の TFVC リポジトリは、作成後に削除することはできません。 このコマンド tf destroy
は、バージョン管理されたファイルまたはフォルダーを破棄または完全に削除するだけで、TFVC リポジトリは削除しません。 メッセージは削除されても、オプションの一覧には引き続き表示されます。
場合によっては、バージョン管理システムをクリーンアップする必要があります。 たとえば、一部のファイルがコンピューター ウイルスに感染している場合は、バージョン管理から完全に削除する必要があります。 まだ必要なファイルは破棄しないでください。 破棄アクションを元に戻すことはできません。
/keephistory
オプションを指定せずに tf destroy
を実行する前に、まず破棄するファイルを削除します。 詳細については、バージョン管理からファイルとフォルダーを削除する方法に関する記事を参照してください。
ファイルを削除したら、TFVC ウェアハウスを同期できます。 しない場合、ウェアハウスが破棄された項目と同期されません。
前提条件
destroy
コマンドを使用するには、Team Foundation 管理者セキュリティ グループに所属している必要があります。 詳細については、「既定の TFVC アクセス許可」を参照してください。
構文
tf destroy [/keephistory] <itemspec1>[;<versionspec>][<itemspec2>...<itemspecN>]
[/stopat:<versionspec>] [/preview] [/startcleanup] [/noprompt] [/silent] [/login:username,[password]] [/collection:TeamProjectCollectionUrl]]
パラメーター
引数
Argument
説明
<itemspec1> [<itemspec2>...<itemspecN>]
破棄するファイルまたはフォルダーのサーバー パスを指定します。 複数の itemspec
値を使用して、複数の項目を削除します。 たとえば、「 tf destroy $/TeamProject1 $/teamProject2 $/TeamProject3
」のように入力します。
ローカル パスはサポートされていません。
<versionspec>
/keephistory
や /stopat
オプションの C58
などのバージョンを指定します。 使用できる値は、date
、tip
、または特定の変更セットです。 TFVC がバージョン指定を解析してそのスコープ内の項目を判別する方法の詳細については、「Team Foundation バージョン管理コマンドの使用」を参照してください。
<username>
/login
オプションに値を指定します。 username
値は、DOMAIN\username
または username
として指定できます。
TeamProjectCollectionUrl
破棄するファイルを含むプロジェクト コレクションの URL (例: http://myserver:8080/tfs/DefaultCollection
)。
Options
オプション
説明
/keephistory
省略可能。 ファイルのコンテンツが破棄されても履歴は保持するように指定します。 このオプションを、/preview
オプションと一緒に指定することはできません。
/stopat
省略可能。 /keephistory
も指定されている場合にのみ使用できます。
ファイルのファイル バージョンと、その後に続くファイル (履歴を保持するファイル) を指定します。
/stopat
の既定のバージョンは、項目のチェックインされた最新バージョンを表す tip
(T) です。
ラベルまたはワークスペースの versionspec
値を使用して、/stopat
オプションの項目を指定することはできません。
/preview
コマンド プロンプト ウィンドウで破棄されるファイルを表示します。 プレビュー モードで tf destroy
を実行しても、ファイルは実際には破棄されません。
注意
コマンド プロンプト ウィンドウのテキストには、破棄されるであろう各ファイルに [破棄済み] という単語が表示されます。 ただし、/preview
オプションを使用した場合、ファイルは実際には破棄されません。
/startcleanup
削除が完了した直後に TFVC メタデータ クリーンアップ プロセスが強制的に開始されます。 ユーザーが /startcleanup
を指定していない場合、Azure DevOps Server が参照しなくなったすべてのファイルが、データベース メンテナンスによってクリーンアップされる際に、破棄されたメタデータ クリーンアップ プロセスが行われます。 既定では、クリーンアップは 5 日ごとに実行されるようにスケジュールされています。 TFVC メタデータがクリーンアップされてから 7 日後に、別のクリーンアップ プロセスによってコンテンツが削除されます。 既定では、このコンテンツ クリーンアップ プロセスは 1 日 1 回実行されます。
/noprompt
または /i
ファイルの破棄が非対話型となるよう指定します。 /i
は /noprompt
の別名です。
/silent
ファイルまたはフォルダーを破棄するときに、出力がコマンド プロンプト ウィンドウに書き込まれないように指定します。
/login
TFVC でユーザーを認証するためのユーザー名とパスワードを指定します。
/collection
プロジェクト コレクションを指定します。
解説
tf destroy
を使用してバージョン管理ファイルを破棄すると、TFVC のアプリケーション層は破棄要求を受け取り、Team Foundation 管理者セキュリティ グループのメンバーであるかどうかを確認します。 メンバーでない場合は、操作を実行するために必要なアクセス許可がないことを示すエラーメッセージ ダイアログ ボックスが表示されます。
システムがアクセス許可を検証した後、destroy コマンドを実行します。 このコマンドは、すべてのファイル参照、シェルブセット、および保留中の変更を削除します。 完全な削除であるファイルの実際の破棄は、次回、Azure DevOps Server が参照しなくなったコンテンツがクリーンアップされるときに行われます。 tf destroy
の実行直後にファイルをクリーンアップする /startcleanup
オプションを指定することもできます。
/i
と /preview
を指定せずに tf destroy
を実行すると、各 filespec
値に対してコンソールの [はい] または [いいえ] プロンプトが表示されます。 そうでない場合は、[すべてはい] に指定できます。
/keephistory
を指定しない場合は、保留中の変更が存在する場合に警告する対話型テキストが表示されます。 対話型テキストは、変更に関する詳細情報が必要な場合に/preview
を指します。/keephistory
を指定した場合は、[はい]、[いいえ]、または [すべてはい] のテキストに対してもメッセージが表示されます。 [はい] または [すべてはい] を選択すると、破棄プロセスが開始され、破棄された項目に対するサーバー パスがコマンド プロンプト ウィンドウに表示されます。
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
通知が処理されないため、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 です。