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
注意
不能使用
/keephistory
指定/preview
。此操作保留有关 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 元数据。 如果没有此选项,则在数据库由每五天运行的 SQL 进程维护时删除这些元数据。 删除 TFVC 元数据七天后,销毁的文件的内容将由另一个 SQL 进程删除。若要立即销毁 aFolder中的所有文件,请输入:
tf destroy /startcleanup $/MyTeamProject/aFolder