Visual studio 为什么在TFS中删除一个文件,然后重新创建它不会清除历史记录?

Visual studio 为什么在TFS中删除一个文件,然后重新创建它不会清除历史记录?,visual-studio,visual-studio-2015,tfs,Visual Studio,Visual Studio 2015,Tfs,出于各种原因,我想清除TFS中文件的历史记录。作为记录,我确实意识到这是一件有点争议的事情。我尝试完全删除文件,签入删除,然后重新添加同名文件的新副本。但是,尽管已成功签入删除,重新创建的文件仍具有旧文件的所有历史记录,如下所示: 我读过其他的堆栈溢出文章,比如和其他一些类似的文章,讨论使用tf实用程序删除文件的整个历史或某些部分。然而,我正在寻找一种从UI实现这一点的简单方法—VisualStudio本身或TFS web界面 我怎么能做这样的事?你在找的。没有办法通过用户界面执行此操作。您正

出于各种原因,我想清除TFS中文件的历史记录。作为记录,我确实意识到这是一件有点争议的事情。我尝试完全删除文件,签入删除,然后重新添加同名文件的新副本。但是,尽管已成功签入删除,重新创建的文件仍具有旧文件的所有历史记录,如下所示:

我读过其他的堆栈溢出文章,比如和其他一些类似的文章,讨论使用tf实用程序删除文件的整个历史或某些部分。然而,我正在寻找一种从UI实现这一点的简单方法—VisualStudio本身或TFS web界面

我怎么能做这样的事?

你在找的。没有办法通过用户界面执行此操作。

您正在寻找的。无法通过UI执行此操作。

将允许您在UI中启用销毁

请参见关联菜单中的底部项,该项将允许您在UI中启用销毁


请参见关联菜单中的底部项目,因为您正在处理版本控制系统删除,本质上意味着从普通视图中隐藏文件,因为删除操作只是项目历史记录中的另一个步骤。因此,当您创建具有相同名称的文件时,您将继续相同文件的历史记录


正如其他人所指出的,您可以使用tf destroy删除该文件及其历史记录,从而为您创建“新”文件提供一个干净的模板。

因为您处理的是版本控制系统删除,本质上意味着从普通视图中隐藏该文件,因为删除操作只是项目历史记录中的另一个步骤。因此,当您创建具有相同名称的文件时,您将继续相同文件的历史记录


正如其他人所指出的,您可以使用tf destroy删除该文件,其历史记录为您创建“新”文件提供了一个干净的模板。

删除TFS中的文件夹实际上只会执行软删除。该分支仍然存在,除了被隐藏之外,它的所有历史都将完整存在。您可以在VS中显示已删除的项目,如下所示

如果要永久删除Team Foundation版本控制中的版本控制文件,则需要执行. TFS中没有任何内置按钮或UI可用于快速销毁文件。我们建议您使用一些tf命令行来实现这一点

使事情复杂化是防止用户意外破坏文件/文件夹。因为tf destory命令从TFS中永久删除文件。小心使用。没有复苏

此外,即使在TFS中销毁文件/文件夹之前不必删除它。然而:

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

<> >删除文件后,可以同步团队基础 仓库否则,仓库将不会与数据库同步 被毁物品


有关更多详细信息,请参阅。

在TFS中删除文件夹实际上只会执行软删除。该分支仍然存在,除了被隐藏之外,它的所有历史都将完整存在。您可以在VS中显示已删除的项目,如下所示

如果要永久删除Team Foundation版本控制中的版本控制文件,则需要执行. TFS中没有任何内置按钮或UI可用于快速销毁文件。我们建议您使用一些tf命令行来实现这一点

使事情复杂化是防止用户意外破坏文件/文件夹。因为tf destory命令从TFS中永久删除文件。小心使用。没有复苏

此外,即使在TFS中销毁文件/文件夹之前不必删除它。然而:

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

<> >删除文件后,可以同步团队基础 仓库否则,仓库将不会与数据库同步 被毁物品


有关更多详细信息,请参阅。

在我看来,如果版本控制软件允许您意外删除文件、签入更改、意识到错误,并且在恢复后无法恢复历史记录,那将是非常糟糕的。我认为在UI中没有或者不应该有一种简单的方法来做到这一点。@KenWhite这是一个合理的观点-所以答案可能是,这是一种试图从一开始就抹杀历史的愚蠢方法?也许最好还是试试tf实用程序?我想我应该多说一句,因为我不认为删除一个文件会删除该文件的历史记录是合理的-是否尝试在TFVC中重命名分支?再见整个分支机构的历史。在我看来是这样的
如果版本控制软件允许您意外删除文件、签入更改、意识到错误,并且在恢复后无法恢复历史记录,那么它将是非常糟糕的版本控制软件。我认为在UI中没有或者不应该有一种简单的方法来做到这一点。@KenWhite这是一个合理的观点-所以答案可能是,这是一种试图从一开始就抹杀历史的愚蠢方法?也许最好还是试试tf实用程序?我想我应该多说一句,因为我不认为删除一个文件会删除该文件的历史记录是合理的-是否尝试在TFVC中重命名分支?拜拜整个分支机构的历史。海报表明他知道tf,但正在寻找从UI执行的方法。海报表明他知道tf,但正在寻找从UI执行的方法。
tf destroy [/keephistory] <itemspec1>[;<versionspec>][<itemspec2>...<itemspecN>] 
[/stopat:<versionspec>] [/preview] [/startcleanup] [/noprompt] [/silent] [/login:username,[password]] [/collection:TeamProjectCollectionUrl]]