39

有谁知道是否有办法通过某种差异工具检查生产修补程序分支中的代码是否比主流分支更新?(hotfix1 vs thrunk)

\src
    \thrunk
    \releases
        \hotfix1

我将 vs2010 与 TFS 一起使用,但是分支有很多文件,我想出的只是一次比较一个文件,方法是重新指定其中一个文件的目标路径。

4

7 回答 7

157

您可以直接在 Visual Studio 中执行此操作 - 如果您打开团队资源管理器并转到源代码管理,您可以递归比较文件夹(即使是您的工作区中没有的文件夹。)只需导航到其中一个分支,右键单击并选择Compare并输入另一个分支作为目标。

于 2011-06-09T13:17:13.293 回答
14

在 Visual Studio 中,在菜单栏中选择:

  1. 查看 >> 其他窗口 >> 源代码管理资源管理器
  2. 右键单击项目(文件夹、分支、文件等)>>比较...
  3. 在目标路径中输入要比较的项目,如下所示

注意:请注意此屏幕上的所有不同选项。

在此处输入图像描述

于 2017-06-23T21:17:46.063 回答
5

使用命令行工具tf.exe,您可以比较任意文件的两个修订版,但两者都必须在您的工作区中。

有关详细信息,请参阅在线帮助tf diff此处指定版本)。

注意。在 VS 中使用工具 | 选项 | 源代码管理 | Visual Studio 团队基础服务器 | 配置用户工具以定义要使用的 diff/merge 应用程序(网络搜索会找到要使用的正确命令行)。输入.*文件类型将用于没有更具体工具集的所有内容。

于 2011-06-09T08:49:00.230 回答
5

使用前面提到的“比较”功能非常棒,但是拥有好的过滤器会使它更有用。否则,您可能会因大量信息而不堪重负。

以下是我目前使用的过滤器,对我来说效果很好:

!debug\;!obj\;!bin\;!temp\;!*ReSharper*\;*.sln;*.*proj;*.config;*.cs;*.vb;*.bmp;*.GIF;*.JPG;*.png;*.ico;*.ini;*.resx;

前几项消除了您可能想要排除的一些文件夹(调试、obj、bin、temp、Resharper 的东西,如果您正在使用它 - 强烈建议您这样做!)。其余的是我认为在搜索中有用的文件。如果您想查看其他文件类型,只需将它们添加到列表末尾即可。

于 2012-10-10T22:36:06.853 回答
1

您可以在不提交的情况下将一个分支合并到另一个分支。然后你可以在visual studio中看到所有的变化。完成后,您只需重置所有更改(如果您不想合并)。

于 2016-05-06T13:47:15.907 回答
0

实际上,您不必在同一个工作区中就可以从 VS 进行比较 - 甚至在 TFS 中进行比较。1 或两者都可能在文件系统中(“比较”dlg 中的“本地路径...”)或 TFS 中(“服务器路径...”)。“过滤器”部分也非常强大,能够按文件类型扩展/限制比较对象。

于 2012-08-26T20:07:22.127 回答
0

您可以从 Visual Studio 轻松完成,但如果您像我一样不想弄乱您的本地分支,您也可以从 VSTS 网站完成

  • 转到拉取请求
  • 选择文件选项卡
  • 选择您要比较的文件(您将看到...),这将打开一个菜单
  • 查看历史
  • 找到您要比较的文件
  • 选择标签比较
  • 您将在顶部看到提交编号,您可以更改该提交编号以比较文件的版本

这并不像听起来那么困难,:)

于 2016-12-14T21:30:25.707 回答