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 时,文件实际上并未销毁。
|
||
/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 值都会显示一个控制台 Yes 或 No 提示。另外,还可以指定 Yes to all。如果未指定 /keephistory,则会显示交互式文本提示,警告您注意挂起的更改(如果这些更改存在)。该交互式文本指向 /preview,您可以借此获取有关这些更改的更多信息。如果指定 /keephistory,则还会显示 Yes、No 或 All 文本提示。如果选择 Yes 或 All,则销毁过程开始执行,并且销毁项的服务器路径会显示在“命令提示符”窗口中。
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 版本控制)