我试图了解如何比较分支或提交使用 VS2015。
使用其他 Git 程序,我可以很容易地比较版本,但是我不知道它是如何在 VS 中完成的。
有人能帮忙吗?
我只是花了一点时间玩玩当前版本的 VSTS,然后就弄明白了(截至2016年10月) :
这将带您进入一个既显示两者之间的提交差异,又显示文件比较的页面
要比较 MicrosoftVisualStudio 中的特定对象(解决方案、项目、源文件、 ...)(使用 MVS2015) :
我不确定是否有一种方法可以比较两次不同提交中的所有项目(我只是为了非商业目的调用 GitKraken-free-或者在我的本地回购中调用任何其他 GUI 的 git)。Gitkraken 非常简单: 选择任意两个提交,这两个提交之间的所有差异都可以在你的指尖找到。
从2017年10月开始,当你右键点击 Code-> Branch 下面的一个分支时,你会看到这个菜单。点击比较分支。
如果您正在使用 Azure DevOps,这可以很容易地完成。(我知道这并不能真正回答这个问题,但我想其他人可能会觉得这有帮助。)
在 Azure DevOps 中进行回购。去布兰奇。当您将鼠标向右移动时,将出现一个椭圆。
单击设置比较分支。现在,其他分支将列出与此分支相关的“后面 | 前面”提交的数量。
点击比较分支。您可以设置任意两个分支,并查看文件差异和提交差异。比较的方向很重要。
Azure DevOps 分支比较剪辑
如果您想在 Visual Studio 2017或更高版本中比较两个不同的 树枝,您可以通过使用“ Compare Comits”特性来做到这一点,同时在 单身分支的“ View History”窗口中查看两个不同的提交。但是,显而易见的问题是,其中一个分支必须包含另一个分支的头提交,以便能够进行比较,而大多数情况下并非如此。幸运的是,有一种简单的方法可以实现这一点,那就是从一个分支中创建一个新的临时分支,然后在另一个分支中进行合并:
git checkout -b temp-compare-branch branch-1-name --no-track git merge branch-2-name
注意,如果您得到合并冲突,您可以只是快速选择一方或其他随机!如何解决冲突并不重要,因为您实际上并不关心合并提交。您只需要完成合并,以便合并提交的父级都驻留在同一个分支中。完成后,您可以“查看新临时分支的历史记录”,然后控制-单击相应的两个提交来选择它们,然后右击并“比较提交”来实现您的目标。
边注: 通常当我不得不这样做时,我最感兴趣的是一个分支上的更改,因为它与另一个分支分离了。在这种情况下,我通常发现查看每个分支的 HEAD 与合并基础的比较更有用,这会产生“一个分支上的一组变更不在另一个分支上”。要查找合并基础,只需使用:
git merge-base branch-1-name branch-2-name
该命令的输出是一个提交 ID,您可以分别与每个分支上的 HEAD 进行比较,甚至不需要创建临时分支,如果您实际上正在寻找一组特定的更改的话。
在 VS-2022中,你可以进入 View->Git Repository:
View->Git Repository
然后右键单击要比较的分支并选择 Compare '<current branch>' with '<other branch>'
Compare '<current branch>' with '<other branch>'