Destroy 命令

更新:2007 年 11 月

使用 tf destroy 命令可以在 Team Foundation 版本控制中销毁或永久删除受版本控制的文件。

销毁操作无法撤消。不得销毁仍然需要的文件。有时,您必须清理版本控制系统。例如,如果某些文件感染了计算机病毒,则必须从版本控制中永久移除这些文件。

运行不带 /keephistory 选项的 tf destroy 之前,建议您先删除要销毁的文件。有关更多信息,请参见如何:从版本控制中删除文件和文件夹

删除文件后,可以同步 Team Foundation 仓库。否则该仓库将不与被销毁的项同步。有关更多信息,请参见安排与数据仓库之间的同步

必需的权限

若要使用 destroy 命令,您必须属于“Team Foundation Administrators”安全组。有关更多信息,请参见 Team Foundation Server 权限

tf destroy [/keephistory] <itemspec1>[;<versionspec>][<itemspec2>…<itemspecN>] 
[/stopat:<versionspec>] [/preview] [/startcleanup] [/noprompt]

参数

参数

说明

itemspec1[itemspec2…itemspecN]

指定要销毁的文件或文件夹的服务器路径。使用多个 itemspec 值可以删除多个项。例如,tf destroy $/TeamProject1 $/teamProject2 $/TeamProject3。

不支持本地路径。

versionspec

/keephistory/stopat 选项提供一个版本(如 C58)。允许的值为日期、提示或特定变更集。有关 Team Foundation 如何分析版本规范以确定哪些项在其范围内的更多信息,请参见命令行语法 (Team System)

选项

说明

/keephistory

可选。指定在销毁文件内容时保留文件的历史记录。此选项不能与 /preview 选项一起指定。

/stopat

可选。仅当同时指定了 /keephistory 时才可以使用。

指定文件的文件版本,文件的历史记录将从该版本开始保留。

/stopat 的默认版本为某个项的最新签入版本的提示 (T)。

无法使用标签或工作区 versionspec 值为 /stopat 选项指定一个项。

/preview

在“命令提示符”窗口中显示要销毁的文件。当在预览模式下运行 tf destroy 时,文件实际上并未销毁。

说明:

在“命令提示符”窗口中,每个要销毁的文件旁边都会显示“已销毁”字样。但是,在使用 /preview 选项时,文件实际上并未销毁。

/startcleanup

强制文件内容清理过程在内容删除结束后立即开始。如果用户未指定 /startcleanup,则只有当数据库维护操作清理完 Team Foundation Server 不再引用的所有文件时,才会执行销毁内容清理过程。默认情况下,清理过程计划每天运行一次。

/noprompt

/i

指定文件销毁为非交互式操作。/i/noprompt 的别名。

备注

在使用 tf destroy 销毁版本控制文件时,Team Foundation Server 的应用层接收销毁请求并检查您是否为“Team Foundation Administrators”安全组的成员。如果您不是该组的成员,系统会显示一个错误消息对话框,告知您没有足够的权限来执行该操作。

在系统验证您的权限后,就会运行 destroy 命令。此命令会删除所有文件引用、搁置集和挂起的更改。在下一次清理 Team Foundation Server 不再引用的内容时,将执行实际销毁文件的操作(这是一个永久删除操作)。您还可以指定 /startcleanup 选项,以便在 tf destroy 运行后立即清理文件。

如果在不指定 /i/preview 的情况下运行 tf destroy,则系统对于每个 filespec 值都会显示一个控制台 YesNo 提示。另外,还可以指定 Yes to all。如果未指定 /keephistory,则会显示交互式文本提示,警告您注意挂起的更改(如果这些更改存在)。该交互式文本指向 /preview,您可以借此获取有关这些更改的更多信息。如果指定 /keephistory,则还会显示 YesNoAll 文本提示。如果选择 YesAll,则销毁过程开始执行,并且销毁项的服务器路径会显示在“命令提示符”窗口中。

Destroyed: <serverItem1>
Destroyed: <serverItem2>
Destroyed: …

如果将 versionspec 值指定为提示,则服务器路径(包括删除 ID)会显示在“命令提示符”窗口中。例如,X123 可能显示在“命令提示符”窗口中。

如果使用 /preview 选项,则文件未销毁,但命令行文本会显示要销毁的文件。例如,如果在命令行键入 tf destroy /preview $/Test1/MyProject/MyProject/Program.cs,则命令窗口会显示以下文本:

已销毁: $/Test1/MyProject/MyProject/Program.cs

但是,由于使用了 /preview 选项,因此该文件实际上并未销毁。

有关如何查找“tf”命令行实用工具的更多信息,请参见 Tf 命令行实用工具命令

其他版本控制操作上的 /keephistory 的效果

如果指定 /keephistory 选项以保留销毁文件的历史记录,则会将文件视为由以下 Team Foundation 版本控制操作销毁:

  • **更改内容   **如果试图更改已销毁文件的内容(如编辑或分支),则系统会发出一个错误消息,指出内容已销毁。

  • **分支、合并或取消搁置   **如果试图对已销毁的项进行分支、合并或取消搁置,则系统会发出一个错误消息,指出这些项的内容已销毁。

销毁先前删除的项

如果某个项已删除,则会将一个删除 ID 附加到该项并导致文件名更改。

示例

说明

下面的示例演示如何永久删除文件 a.cs。

代码

C:\pi\ws1>tf destroy $/proj/pi/a.cs

说明

下面的示例演示如何删除文件夹 aFolder。请在命令行键入:

代码

C:\tf delete $/MyTeamProject/aFolder

说明

若要销毁已删除的项 aFolder,必须在命令行键入:

代码

tf destroy $/MyTeamProject/sFolder;x123

其中 x123 为删除 ID。

请参见

任务

如何:销毁受版本控制的文件

概念

只能通过命令行执行的操作(Team Foundation 版本控制)

其他资源

Tf 命令行实用工具命令