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

Azure DevOps Services |Azure DevOps Server |Azure DevOps Server 2022 |Azure DevOps Server 2020

Visual Studio 2019 |Visual Studio 2022

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

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

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

注释

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

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

可以使用“Visual Studio 比较 ”对话框比较任意两个文件。 这些文件可以驻留在本地系统上,同时驻留在 Azure DevOps Server 上,也可以位于每个系统上。

  1. 在菜单栏上,选择 “查看>其他 Windows>源代码管理资源管理器”。

  2. 源代码管理资源管理器中,右键单击文件并选择“ 比较”。

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

    小窍门

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

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

  5. 选择“确定”

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

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

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

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

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

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

    小窍门

    也可以按 Shift ,然后双击该文件。

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

    此时会显示 差异 窗口。 可以继续对此窗口中的文件进行更改。

小窍门

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

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

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

  1. 在 Visual Studio 菜单栏上,选择“ 查看>其他 Windows>源代码管理资源管理器”。

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

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

使用差异窗口

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

差异 窗口中:

  • 正在删除的行在源中具有红色背景,并替换为更改版本中的底纹。
  • 正在添加的行在源中显示为底纹,并在更改的版本中具有绿色背景。
  • 正在更改的行在源中具有红色背景,更改后的版本中为绿色背景。
  • 概述了具有代码评审注释的行,并且背景为黄色。
  • 每个版本的滚动条显示文件差异的直观摘要。

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

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

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

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

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

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

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

合并版本之间的更改

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

如果需要在 TFVC 冲突解决之外合并两个具有显著差异的文件,请使用 vsdiffmerge 命令行工具。 该工具 vsdiffmerge 允许你并行合并更改,并选择要保留哪些内容来保留文件之间的每个差异。

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

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

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

后续步骤