筛选Visual Studio 2013 TFS合并到仅实际更改的文件

Tra*_*vis 20 merge tfs visual-studio visual-studio-2013

我正在两个分支之间进行合并,TFS/Visual Studio 2013正在识别需要合并的1800个文件.然而,在两个分支之间进行差异表明只有~100个实际上是不同的.

挂起的更改窗口主要证实了这一点,因为所有文件都以[merge]状态列出,但实际更改的除外; 那些有[合并,编辑]状态.

有没有办法过滤挂起的更改列表,只显示真正更改的文件,以便我可以直观地检查差异?它非常容易出错,必须滚动并手动执行此操作,跳过仅显示[merge]的项目.

我目前的替代方案是在分支上执行差异,并特别在待定更改窗口中查找被识别为不同的文件,但这对于应该简单的事情来说相当麻烦.

编辑:以下是待定更改窗口的屏幕截图.我只关心[合并,编辑]的项目,因为它意味着有一个变化,我想看到差异.冲突将显示在"解决冲突"窗口中.我不关心[merge]项目,因为它们是相同的.有1000个文件没有变化,但我想挑出已经改变的文件并检查差异.

PendingChangesWindow

小智 10

尝试以下技巧:在团队资源管理器中,按Ctrl + A所有包含的更改,右键单击并选择撤消...

您将获得包含所有选定项目的" 撤消待处理更改"对话框.首先,取消选中所有内容.然后观察您有一个名为Change的列,您可以按它排序以将所有[Merge]更改堆叠在一起,您可以一起检查它们并只需单击即可撤消它们.


MrH*_*ood -5

我的问题是你为什么关心?

如果您进行合并,TFS 将在运行时发现文件不需要修改,并且您将不会在注释工具中看到它们发生更改。但是,如果您选择要合并的文件,您将留下一堆“待处理的合并”,无论如何您都必须稍后处理它们......

如果存在冲突,TFS 会突出显示给您处理。

如果您确实需要在合并之前进行比较,可以使用 Visual Studio 中内置的 diff 工具,该工具可以让您比较分支(或只是文件夹)本地->本地、本地->服务器或服务器->服务器。

在此输入图像描述

  • 我关心是因为我想查看 TFS 正在合并的更改?对于相同的文件,我不需要检查它们。我不是试图挑选要合并的文件,而是尝试选择需要在 diff 工具中手动检查的文件。TFS 将突出显示冲突(当源和目标中的文件均发生更改时),我可以在冲突窗口中处理这些冲突。我很好奇看到源上发生变化但目标上没有发生变化的文件,并查看差异。 (5认同)
  • 我也会给你一个例子来说明原因。有些文件(例如我添加的屏幕截图中的 versioninfo.properties)存在差异,TFS 可以毫无问题地合并。但是,我不希望按原样合并这些更改。我需要在签入之前让 TFS 合并并编辑文件,或者使用 /discard 选项手动合并该文件。我希望通过对更改的文件进行代码审查来避免这些无意的更改。 (3认同)