使用 Team Foundation 版本控制比较文件

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

Visual Studio 2019 | Visual Studio 2022

本文提供了使用 Team Foundation 版本控制 (TFVC) 时比较文件的指南。 如果使用 Git 进行版本控制,请参阅比较文件

您可以对服务器文件夹和本地文件夹进行比较,并查看每个文件夹在内容方面的差异。 可以将两个服务器文件、两个本地文件或一个服务器文件与一个本地文件进行比较,并查看文件之间的差异。

通过将差异视图中的更改复制并粘贴到工作区版本中可以合并两个版本之间的更改,从而快速将一个版本中的更新引入另一个版本。

注意

即使未使用版本控制,也可以使用 Visual Studio 中的“差异”窗口来比较计算机上的任意两个文件。 在开发人员命令提示中使用带有 /diff 选项的 devenv.exe 工具,打开 Visual Studio 的“差异”窗口以比较文件。

使用“比较”对话框比较任意两个文件

可以使用 Visual Studio“比较”对话框比较任意两个文件。 这两个文件既可以都驻留在本地系统上,也可以都驻留在 Azure DevOps Server 上,或者各驻留一个。

  1. 在菜单栏上,选择“视图”>“其他窗口”>“源代码管理器”。

  2. 在“源代码管理器”中,右键单击一个文件,然后选择“比较”。

  3. 在“比较”对话框中,选择要比较的文件。 在“源路径”和“目标路径”下输入路径和文件名,或者选择“浏览”旁边的箭头,选择“本地路径”或“服务器路径”,然后浏览以选择该文件。

    提示

    若要比较任意两个本地文件,请从两个“浏览”下拉菜单中选择“本地路径”。

  4. 在“源版本”下的“类型”旁边,选择“变更集”、“日期”、“标签”、“最新版本”或“工作区版本”,并指定详细信息。

  5. 选择“确定” 。

将工作区中的文件与最新版本进行比较

将工作与 Azure DevOps Server 上的最新版本进行比较,同时继续进行更改。

  1. 如果尚未连接到要处理的项目,请连接到项目

  2. 在“团队资源管理器”中,打开“挂起的更改”页面。

  3. 在“挂起的更改”页面上,在“包含的更改”列表中找到文件。

  4. 右键单击文件并选择“与工作区版本比较”,查看你对签出的版本所做的本地更改。

    提示

    还可以按“Shift”,然后双击文件。

    或者,右键单击文件并选择“与最新版本比较”,从而将更改与 Azure DevOps Server 上文件的最新版本进行比较。

    “差异”窗口随即显示。 可以继续在此窗口对文件进行更改。

提示

还可以使用“解决方案资源管理器”或“源代码管理器”,将工作区中的文件与服务器上的文件版本进行比较。 右键单击文件,然后选择“比较”。 “比较”对话框显示时,选择“确定”。

比较 TFVC 历史记录中文件的两个版本

比较已签入 Team Foundation 版本控制的文件的两个版本:

  1. 在 Visual Studio 菜单栏上,选择“视图”>“其他窗口”>“源代码管理器”。

  2. 在“源代码管理器”中,右键单击文件,然后选择“查看历史记录”。

  3. 在“历史记录”窗口中,选择文件的两个版本,右键单击,然后选择“比较”。

使用“差异”窗口

使用前面部分中的说明比较文件时,Visual Studio 会在“差异”窗口中显示这些文件。 “差异”窗口显示两个文件之间的差异。 如果在工作区中签出其中一个文件,可以在运行比较时修改该文件。

在“差异”窗口中:

  • 删除的行在源中具有红色背景,而在已更改版本中由阴影替换。
  • 添加的行在源中显示为阴影,而在已更改版本中具有绿色背景。
  • 更改的行在源中具有红色背景,而在已更改版本中具有绿色背景。
  • 具有代码评审注释的行带边框且具有黄色背景。
  • 每个版本旁边的滚动条显示了文件之间差异的可视化摘要。

屏幕截图显示一个文件的两个版本的比较。

  • 选择“差异”窗口左上角的箭头图标,或按 F8 在差异之间来回跳转。

  • 若要在文件中来回移动,请选择可视化摘要滚动条上的位置。

  • 选择“差异”窗口顶部“设置”图标旁边的箭头以更改视图。 在大多数情况下,“并排模式”更有效,但也可以使用“内联模式”,或者查看“仅左侧文件”或“仅右侧文件”。

    以下屏幕截图显示内联视图:

    显示内联视图和窗口图标的屏幕截图。

参与代码评审时,可以使用“差异”窗口查看作为评审主题的代码更改。 有关详细信息,请参阅挂起工作、修复 bug 并执行代码评审

合并版本之间的更改

可以将差异视图中的更改复制并粘贴到工作区版本中,从而快速将一个版本中的更新引入另一个版本。 签入更改之前,解决 TFVC 中的合并冲突时,合并两个版本之间更复杂的更改。

如需合并两个在 TFVC 冲突解决之外存在明显差异的文件,请使用 vsdiffmerge 命令行工具。 借助 vsdiffmerge 工具,可以并排合并更改,还可以为文件之间的每个差异选择要保留的内容。

使用四个后跟 /m 标志的文件参数在 Visual Studio 开发人员命令提示中运行命令,以针对任意两个文件直接启动合并工具。 vsdiffmerge.exe 的基本语法是:

vsdiffmerge.exe "File1" "File2" "Base file" "Result file" /m

File1File2 是要合并的文件的完整路径。 Base file 是两个文件所基于的文件的完整路径,Result file 是要在其中写入合并结果的完整路径。

后续步骤