为什么不删除TFS中的文件然后重新创建它会清除历史记录?

时间:2018-07-26 23:49:28

标签: visual-studio visual-studio-2015 tfs

出于各种原因,我想清除TFS中文件的历史记录。 (根据记录,我确实意识到这是一件有争议的事情)。我尝试完全删除文件,检查删除,然后重新添加具有相同名称的文件的“新”副本。但是,尽管已成功检查了删除,但是重新创建的文件仍然具有旧文件的所有历史记录,如下所示: enter image description here

我还阅读了其他Stack Overflow帖子,例如this one(以及类似的其他几篇文章),讨论了使用{{1}删除文件的历史记录(全部或部分内容) } 效用。但是,我正在寻找一种从UI进行操作的简便方法-Visual Studio本身或TFS Web界面。

我该怎么做?

4 个答案:

答案 0 :(得分:3)

您正在寻找tf destroy。无法通过UI进行操作。

答案 1 :(得分:2)

通过Source Control Explorer Extension,您可以在用户界面中启用销毁功能。

enter image description here 请参阅上下文菜单中的底部项目

答案 2 :(得分:1)

由于您正在处理版本控制系统,因此删除本质上意味着从纯视图中隐藏文件,因为删除操作只是项目历史记录中的又一步。因此,当您使用相同的名称创建文件时,您将继续该文件的历史记录。

正如其他人指出的那样,您可以使用tf destroy删除文件及其历史记录,这为创建“新”文件提供了方便。

答案 3 :(得分:1)

在TFS中删除该文件夹实际上只会执行“软删除”。除被隐藏外,该分支将继续保留所有历史记录。您可以按照此tutorial来显示VS中已删除的项目。

如果要从Team Foundation版本控件中永久删除版本控制的文件,则需要执行tf destroy command

tf destroy [/keephistory] <itemspec1>[;<versionspec>][<itemspec2>...<itemspecN>] 
[/stopat:<versionspec>] [/preview] [/startcleanup] [/noprompt] [/silent] [/login:username,[password]] [/collection:TeamProjectCollectionUrl]]

没有任何旨在快速销毁TFS中文件的内置按钮或UI。我们建议您使用一些tf命令行来实现此目的。

使事情复杂化是防止用户意外破坏文件/文件夹。由于tf destory命令从TFS永久删除文件。谨慎使用。无法恢复。

此外,即使您不必必须删除文件/文件夹,也可以在TFS中销毁文件/文件夹。但是:

  

在不使用/keephistory选项的情况下运行 tf destroy 之前,我们   建议您首先删除要销毁的文件。

     

删除文件后,您可以同步Team Foundation   仓库。否则,仓库将不会与   损坏的物品。

有关更多详细信息,请参见Delete Files and Folders from Version Control