我已经手动删除了工作区中的一些文件/文件夹。我如何为我的 TFS 工作区中的这些项目挂起删除并让这些删除反映在存储库中(通过命令行或编程 API)。
4 回答
您应该能够使用Team Foundation Server Power Toolstfpt online /deletes
中的命令。它将提示您“提升”任何不在服务器工作区中的未跟踪本地更改。
删除工作文件夹中的项目不会反映源代码管理中的删除。要从源代码管理中删除项目,请执行以下操作:
从源代码管理 ui 中删除它,通过右键单击该项目并删除然后提交更改来执行此操作。
打开 VS 命令行并运行 tf properties 命令,例如:
tf properties /s:TFSServerCollection "$/FilePath/Filename.jpg"
这将让您检索删除 ID,对于此示例,假设删除 ID 12345在同一个 VS 命令行窗口中,运行 tf destroy 命令,例如:
tf destroy /s:TFSServerCollection "$/FilePath/Filename.jpg";x12345
不要忘记在删除 ID 之前添加“x”。按回车,它会提示您是否要删除该项目。说是,然后按 Enter。请小心,因为 tf destroy complete 从源代码管理中删除了项目和/或文件夹,包括它的历史记录。
在 Visual Studio 2012 中:将检测到这些删除,但会在“排除的更改”部分中列出。打开此列表并单击以“促进”更改。
已删除的文件可以像常规更改一样签入,但是 - 如果您使用解决方案资源管理器签入,则不包括已删除的文件(因为只有在解决方案中仍然存在的文件才会包含在更改集中)。
我总是通过 source-control-explorer 进行签入 - 然后已删除的文件也包含在签入中(如果这些已删除的文件位于您签入的源代码控制文件夹下方)
问候约翰内斯
PS:如果您通过 Windows 文件资源管理器删除文件,它们不会在您的工作副本中标记为“已删除”。始终使用 VS2010 删除文件(或者 TFS Server-Powertools 中包含的 shell 扩展)