バージョン管理されたファイルの破棄
Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019
Visual Studio 2019 | Visual Studio 2022
時間の経過につれて、バージョン管理サーバーが取得するファイルとフォルダーは増加します。 このために、ディスク領域の要件を管理しようとするときに問題が発生する可能性があります。 すべてのプロジェクトとその階層をバージョン管理から強制的に削除することが必要になる場合もあります。 たとえば、学習目的でのみプロジェクトを作成したり、ファイルの一部がウイルスで汚染されたりすることが考えられます。 そのため、TFVC 管理者は、バージョン管理下にあるファイルやフォルダーを破棄することが必要な場合があります。
tf destroy
コマンドを使用してファイルとフォルダーを破棄する方法を次の手順に示します。 ファイルは完全に削除されますが、それらに関連付けられている履歴を保持できます。 tf destroy
で使用できるオプションと引数の詳細については、「Destroy コマンド (Team Foundation バージョン管理)」を参照してください。
注意
destroy
操作は、コマンド ラインからのみ使用できます。
前提条件
destroy
コマンドを使用するには、Team Foundation 管理者セキュリティ グループのメンバーである必要があります。 詳細については、「既定の TFVC アクセス許可」を参照してください。/keephistory
オプションを指定せずにtf destroy
を実行する前に、まず破棄するファイルを削除します。 詳細については、バージョン管理からファイルとフォルダーを削除する方法に関する記事を参照してください。 ファイルを削除すると、そのファイル名に削除 ID が含まれるようになりました。 たとえば、ファイル名が "aFile.cs" の場合、削除後のファイル名は "aFile.cs;x123" です。ここで、x123 は削除 ID です。ファイルを削除した後に、TFVC ウェアハウスを同期できます。 しない場合、ウェアハウスが破棄された項目と同期されません。
バージョン管理されたファイルを完全に破棄するには
Windows で [スタート] を選択し、「開発者コマンド プロンプト」と入力します。 検索結果から、ご使用の Visual Studio バージョンの開発者コマンド プロンプト (Visual Studio 2022 の開発者コマンド プロンプトなど) を選択します。
ファイル "aFile.cs" を破棄せずに破棄をプレビューするには、コマンド プロンプトで次のように入力します。
tf destroy /preview /i $/MyTeamProject/aFile.cs
注意
コマンド プロンプト ウィンドウのテキストには
Destroyed: $/MyTeamProject/aFile.cs
と表示されますが、/preview
オプションを使用するとファイルは実際には破棄されません。ファイル "aFile.cs" を破棄するには、コマンド プロンプトで次のように入力します。
tf destroy /i $/MyTeamProject/aFile.cs
このコマンドは、保留中の変更やシェルブセットに関する情報をコマンド プロンプト ウィンドウに表示します。
/i
つまり非対話型を指定した場合、ファイルが完全に削除される前に、[はい]、[いいえ]、[すべてにはい] ダイアログが表示されません。"aFolder" 内のすべてのファイルを破棄し、同時に履歴を保持するには、次のように入力します。
tf destroy /keephistory $/MyTeamProject/aFolder
注意
/preview
を/keephistory
とともに指定することはできません。このアクションは、"aFolder" 内のすべてのファイルに関する履歴情報を保持します。
tf history
コマンドを使用して、ファイルの履歴を表示できます。 Visual Studio の ソース管理エクスプローラーでも履歴を表示できます。 詳細については、「履歴コマンド」と「項目の履歴の取得」を参照してください。/stopat
オプションを使用して、versionspec
値まで (それ自体を含む) の履歴情報を保持します。versionspec
値には、最新バージョン、特定の変更セット、または日付を指定できます。versionspec
値について詳しくは、「Team Foundation バージョン管理コマンドの使用」を参照してください。プロジェクト MyTeamProject 内のすべてのファイルを破棄し、同時に 2005 年 10 月 23 日まで (その日を含む) のファイルの履歴を保持するには、次のように入力します。
tf destroy $/MyTeamProject /keephistory /stopat:D10/23/2005
/startcleanup
オプションを使用して、Azure DevOps Server によって参照されなくなったファイルの TFVC メタデータをすぐにクリーンします。 このオプションを使用しない場合、それらのメタデータは、5 日ごとに実行される SQL プロセスによってデータベースが保守されるときに削除されます。 TFVC メタデータの削除から 7 日後に、破棄されたファイルの内容が別の SQL プロセスによって削除されます。"aFolder" 内のすべてのファイルをすぐに破棄するには、次のように入力します。
tf destroy /startcleanup $/MyTeamProject/aFolder