如何比较Visual Studio代码中的两个不同分支?

这可能吗?


当前回答

如果您只是想使用GitLens查看工作副本和特定提交之间对特定文件的更改,如果版本之间有许多文件更改,那么当前接受的答案可能会使您难以找到感兴趣的文件。

相反,如果文件是打开的,右键单击文件的选项卡(或者,如果它目前没有打开,转到侧栏中的文件资源管理器,右键单击文件),然后转到提交更改>打开修改更改…(或打开变更与分支或标签…)

其他回答

使用Git历史差异插件,方便并排分支差异:

https://marketplace.visualstudio.com/items?itemName=huizhou.githd

访问上面的链接,向下滚动到标题为Diff分支的动画GIF图像。你会发现你可以很容易地选择任何分支,并与你所在的分支进行并排比较!这就像你在GitHub Pull Request中看到的预览一样。对于Git的其他东西,我更喜欢Visual Studio Code的内置功能或其他人提到的Git Lens。

然而,上面的插件在做分支差异方面是出色的(即,对于那些做重基Git流的人来说,在强制推送到GitHub PR之前需要预览)。

2021的答案

下面是一步一步的指南:

安装GitLens扩展 然后,点击Source Control:

点击搜索和比较

点击比较参考资料

选择你想要比较的分支:

现在,您可以从“搜索和比较”中选择您想要查看差异的任何文件

在2020年11月发布的11.0.0版本中,GitLens视图现在默认都放在VSCode的源代码控制选项卡下,包括具有比较分支功能的搜索和比较视图:

可以在GitLens设置中更改回侧栏布局:

更新

现在可以使用了:

https://marketplace.visualstudio.com/items?itemName=donjayamanne.githistory

到目前为止,它还不受支持,但您可以跟踪它的线程:GitHub

我通常希望将当前签出状态与其他分支(通常是master)进行比较。因为我喜欢使用键盘快捷键,我找到的最简单的方法(从现有的各种答案中编译):

按ctrl/cmd-P,打开VSC命令面板 开始输入'git compare'。出现以下选项: 选择“Compare HEAD with…”(或者其他更适合你的用例) 在出现的对话框中,选择所需的分支,例如master 在“搜索和比较”窗口(通常在左下角)检查结果。根据需要展开箭头,例如查看不同的文件,或后面/前面查看提交列表。

如果你想比较两个特定的分支(而不是签出的分支),选择“compare References…”’。然后你可以选择2个分支/标签/提交/…