如何撤消未更改的文件的挂起更改?

时间:2017-10-10 01:46:49

标签: c# .net tfs visual-studio-2017 tfs2013

让我对TFS感到疯狂的一件事是,如果您检出了一个文件,但没有对其进行任何更改,它仍会显示为更改,从而分散您对实际更改的注意力。当您使用T4等工具生成代码时,这一点尤其令人讨厌,因为大多数情况下该工具会生成相同的代码,但会将文件签出。

出于某些我无法理解的原因,Visual Studio坚持将这些视为变更,如果另一个人碰巧签入相同的变更,他们甚至会声称存在冲突。

Fortunately, the TFS Power Tools include a command that compares checked-out files with the server version and undoes the unchanged files. I will explain how to integrate it into Visual Studio using a custom tool.

很遗憾,如果您使用的是Visual Studio 2017,则无法使用此功能!

以前使用早期版本的Visual Studio实现此目的是very simple

tfpt uu /noget /r *

如果没有任何更改,我们如何从待处理的更改中删除文件?

4 个答案:

答案 0 :(得分:8)

是的,Team Foundation Server 2017没有Power Tools。您可以使用以下解决方法:

右键单击您的项目,选择撤消结帐,然后只需单击“确定”,或者保留任何确认信息......

然后,在撤消结帐时,对于每个 REAL 更改的文件,提示会要求您确认该文件的签出...只需单击“全否”。 Visual Studio将知道签出的文件是否有更改或没有。

警告:此方法还会删除新文件,即尚未签入TFS的文件。如果你想保留这些文件,那么只需将它们从你“撤消”的文件集中排除。

你也可以看看这个问题:他的问题Files listed as pending changes when doing merges that didn't change?

答案 1 :(得分:4)

根据您在TFS中选择的版本控制系统,这是不同的,所以上述问题仅适用于TFS的传统版本控制系统TFVC,而不是git已经支持了几年。

对于TFVS,部分解决方法是标记所有文件,右键单击并撤消... ,然后单击以下对话框中的撤消更改按钮。这将提示您输入不同的文件(让您选择 No No to All ),但不会选择没有更改的文件。 重要:我写'部分',因为此方法不适用于文件重命名,因为文件被视为未更改,因此重命名将被撤消。

答案 2 :(得分:4)

TFSSourceControlExplorerExtension扩展名可用于VS 2017,它具有撤消不变的操作,效果很好。

答案 3 :(得分:0)

分阶段实际需要的更改。实际未更改的文件随后消失。