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

问题描述 投票:8回答:3

让我对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,则无法使用!

它曾经是very simple用Visual Studio的早期版本来实现这一点:

tfpt uu /noget /r *

如果没有任何更改,我们如何从挂起的更改中删除文件?

c# .net tfs visual-studio-2017 tfs2013
3个回答
4
投票

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

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


8
投票

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

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

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

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

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


4
投票

TFSSourceControlExplorerExtension扩展可用于VS 2017,并且它具有撤销不变的动作,效果相当不错。

© www.soinside.com 2019 - 2024. All rights reserved.