有没有办法在VS2010中比较差异/文件版本的两个分支?

时间:2011-06-09 08:36:28

标签: visual-studio-2010 tfs diff tfvc

有没有人知道是否有办法检查来自生产修补程序分支的代码是否不是通过某种类型的diff工具比主流分支更新? (hotfix1 vs thrunk)

\src
    \thrunk
    \releases
        \hotfix1

我正在使用带有TFS的vs2010,但是分支机构有很多文件,我想出的就是一次比较一个文件,重新指定其中一个文件的目标路径。

7 个答案:

答案 0 :(得分:145)

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

答案 1 :(得分:7)

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

  1. 查看>>其他Windows>>源代码管理资源管理器
  2. 右键单击项目(文件夹,分支,文件等)>>比较...
  3. 在目标路径中输入要与之比较的项目,如下所示
  4. 注意:请注意此屏幕上的所有不同选项。

    enter image description here

答案 2 :(得分:4)

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

有关详细信息,请参阅tf diff上的在线帮助(以及指定版本的here)。

NB。在VS中使用工具|选项|源控制| Visual Studio Team Foundation Server |配置用户工具以定义要使用的diff / merge应用程序(Web搜索将找到要使用的正确命令行)。输入.*作为文件类型将用于所有内容,而无需更具体的工具集。

答案 3 :(得分:4)

使用前面提到的“比较”功能很棒,但是使用好的过滤器会让它变得更有用。否则你可能会因为大量的信息而过载。

以下是我目前使用的过滤器,它对我来说非常有用:

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

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

答案 4 :(得分:1)

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

答案 5 :(得分:0)

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

答案 6 :(得分:0)

您可以从Visual Studio轻松完成,但如果您像我一样并且不想弄乱本地分支,您也可以从VSTS网站上进行操作

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

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