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

更新:2007 年 11 月

随着时间的推移,版本控制服务器获得的文件和文件夹越来越多。这可能会在您尝试管理磁盘空间要求时引起问题。您可能被迫从版本控制中删除所有团队项目及其层次结构。例如,有的团队项目可能仅为了学习目的而创建,或者有些文件感染了病毒。因此,作为 Team Foundation 管理员,您有时可能需要销毁处于版本控制下的文件和文件夹。

下面的过程演示如何使用 tf destroy 命令销毁文件和文件夹。虽然文件已永久移除,但您仍可以保留与它们相关联的历史记录。有关 tf destroy 的可用选项和参数的更多信息,请参见 Destroy 命令

说明:

此操作只能通过命令行执行。

必需的权限

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

运行 tf destroy 的前提条件

运行不带 /keephistory 选项的 tf destroy 之前,建议您先删除要销毁的文件。有关更多信息,请参见如何:从版本控制中删除文件和文件夹。删除文件后,其文件名将包含一个删除 ID。例如,如果文件名为 aFile.cs,则在删除后该文件名变为 aFile.cs;x123,其中 x123 就是删除 ID。

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

永久销毁受版本控制的文件

  • 依次单击“开始”、“所有程序”、“Microsoft Visual Studio 2008”、“Visual Studio Tools”和“Visual Studio 命令提示”。

    • 若要预览文件 aFile.cs 而不销毁它,请在命令提示符处键入:

      >tf destroy /preview /i $/MyTeamProject/aFile.cs
      
      说明:

      “命令提示符”窗口中会显示文本“已销毁: $/MyTeamProject/aFile.cs”,但在使用 /preview 选项时不会实际销毁该文件。

    • 若要销毁文件 aFile.cs,请在命令提示符处键入:

      >tf destroy /i $/MyTeamProject/aFile.cs
      

      此命令在“命令提示符”窗口中显示有关可能的挂起更改和搁置集的信息。因为指定了 /i(非交互式),所以在永久移除文件前将不提示您 YesNoYes to all 对话框。

    • 若要在销毁 aFolder 中的所有文件的同时保留这些文件的历史记录,请键入:

      >tf destroy /keephistory $/MyTeamProject/aFolder
      
      说明:

      /keephistory 不能与 /preview 一起指定。

      此操作保留 aFolder 中所有文件的历史信息。可以使用 tf history 命令查看文件的历史记录。也可以在源代码管理资源管理器中查看历史记录。有关更多信息,请参见 History 命令如何:查看历史记录数据

    • 使用 /stopat 选项可以保留直到并包括 versionSpec 值的历史信息。versionSpec 值可以是最新版本、特定变更集或日期。有关 versionspec 值的更多信息,请参见命令行语法 (Team System)

      若要销毁团队项目 MyTeamProject 中的所有文件,同时保留直到并包括 2005 年 10 月 23 日的文件的历史记录,请键入:

      >tf destroy $/MyTeamProject /keephistory /stopat:D10/23/2005
      
    • 使用 /startcleanup 选项可以立即清除 Team Foundation Server 不再引用的内容。如果不使用此选项,则在某 SQL 进程维护数据库时(一般每天运行一次)将移除销毁的文件。

      若要立即销毁 aFolder 中的所有文件,请键入:

      >tf destroy /startcleanup $/MyTeamProject/aFolder
      

请参见

任务

如何:移动、重命名和删除受版本控制的文件和文件夹

概念

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

参考

Destroy 命令

其他资源

Team Foundation 版本控制命令行参考