TFS / Visual Studio 2015: 如何比较两个提交之间文件的更改?

4
我们目前正在测试Git作为我们新项目的源代码管理工具。多年来,我们一直使用TFVC,并习惯了它的工作方式。到目前为止,基本上所有的东西都按预期工作,但有一件非常简单的事情我无法弄清楚:在TFVC中,很容易获取在两个不连续提交之间更改的文件列表:

Commit history TFVC

Files changed between 2 commits

但是我发现在VS2015中使用git存储库或TFS2015更新2的Web界面都无法实现这一点:

Commit history git

我只能将提交与其父提交进行比较:

git compare to parent commit

我也找到了一种方法可以比较两个提交之间单个文件的差异,但无法比较整个代码库:

git compare individual file between commits

这只是我没有找到正确位置吗?如果不是,为什么这样一个基本的功能没有被实现?这是我们每天进行审核或故障排查时使用的操作。

我知道有其他方法使用外部工具(GUI和命令行)来实现,但我希望尽可能地在VS/TFS中保持,以减少团队中每个人之间的摩擦。

谢谢。

2个回答

5
没有办法在Visual Studio 2015中比较两个任意提交。但是,这个功能将包括在Visual Studio 2017中。
在Visual Studio 2017中,可以获取两个不同提交之间的更改。通过在历史页面上选择两个提交并选择“比较提交...”命令即可访问此功能:

Compare Commits entry point

这个功能在Visual Studio 2017的预览版本中已经存在,因此您可以尝试并查看它是否符合您的要求。


我可以确认,Visual Studio 2017的完整版本具有此功能。 - SINGULARITY

3
这是因为git的设计是围绕着许多不同的分支和将其合并回一致的代码,而tfvc的设计是围绕着修改历史的连贯性。如果你使用git开发一个有足够的协作者参与的项目,你会有一个从主要分支的一次提交开始的分支,并且在它被开发时,主要分支上会做更多的提交。该分支的最后一次提交可以被修改以适应主要分支上的代码,或者可以从它的第一次提交开始进行修改,使其看起来像是从主要分支的最新提交中进行了分支。第二种情况被称为rebase,它使得在git中拥有一致的修改历史变得更加困难。

我理解这一点,但是在命令行中可以做到这一点(git diff),所以如果可以,为什么在VS/TFS中不可能呢? - mberube.Net
2
@mberube.Net 我刚刚为您的请求提交了一个UserVoice,您可以在下面的网站上投票:https://visualstudio.uservoice.com/forums/121579-visual-studio-2015/suggestions/16582075-add-the-feature-that-comapre-the-whole-repository - Cece Dong - MSFT

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接