让我对TFS感到疯狂的一件事是,如果您检出了一个文件,但没有对其进行任何更改,它仍会显示为更改,从而分散您对实际更改的注意力。当您使用T4等工具生成代码时,这一点尤其令人讨厌,因为大多数情况下该工具会生成相同的代码,但会将文件签出。
出于某些我无法理解的原因,Visual Studio坚持将这些视为变更,如果另一个人碰巧签入相同的变更,他们甚至会声称存在冲突。
很遗憾,如果您使用的是Visual Studio 2017,则无法使用此功能!
以前使用早期版本的Visual Studio实现此目的是very simple:
tfpt uu /noget /r *
如果没有任何更改,我们如何从待处理的更改中删除文件?
答案 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)
分阶段实际需要的更改。实际未更改的文件随后消失。