如何比较Visual Studio代码上的不同分支

Vit*_*sky 55 git visual-studio-code

如何比较Visual Studio代码1.9上的不同分支?可能吗?

dds*_*tan 56

我建议使用:Git Lens.

  • 要添加一些使用细节,我发现在Git Lens中比较分支的方式是; 打开资源管理器视图(Ctrl + Shift + E),找到Git Lens组,右键单击要比较的分支,然后选择"Select for Compare",然后右键单击第二个分支并选择"Compare with Selected".结果将显示为Git Lens下面的一个名为GitlensResults的独立组.在那里,您可以直接查看提交和比较文件. (28认同)

小智 53

无需 GitLens,仅使用Git Graph插件即可实现(而且简单得多)。

打开后Git Graph单击要比较的第一个提交,然后按住 Ctrl/Cmd + 单击第二个提交。这两行都会突出显示。提交详细信息现在将显示A 和提交 B 之间的所有差异,允许您比较跨分支或来自同一分支的任意两个提交。

在此输入图像描述 来源:Git Graph 扩展页面


Man*_*ria 38

2019年答案

这是逐步指南:

  1. 安装GitLens扩展名:GitLens
  2. GitLens图标将显示在导航栏中,单击它

    Git镜头图标

  3. 点击比较

    在此处输入图片说明

  4. 选择要比较的分支

    在此处输入图片说明

  5. 现在您可以看到区别。您可以选择要查看差异的任何文件

    在此处输入图片说明

  • 截至 2023 年 6 月 - 搜索和比较选项在左侧的 Gitlens 工具栏中可用,而不是在 Git 中 (21认同)
  • 您的精彩集锦遍布世界:D (8认同)
  • 我五分钟前刚刚根据您的回答安装了 GitLens,但并没有意识到我一般有多么需要这个扩展 (5认同)
  • 这一定是 VSCode 的最佳扩展之一。不错的功能!一旦我在分割模式下达到这一点,我什至可以编辑适当的文件。 (4认同)
  • 您的逐步屏幕截图非常有帮助。多谢。 (3认同)
  • 如果您不喜欢侧边栏,`F1` > `gitlens:compare` 会很有帮助 (3认同)
  • 真是有见地:-) (2认同)
  • 注意,第4步实际上有两个步骤:选择分支A和选择分支B进行比较。 (2认同)

bin*_*unt 25

如果您只想使用GitLens查看工作副本和特定提交之间特定文件的更改,则当前接受的答案可能会导致您很难找到您感兴趣的文件(如果多个文件在版本之间发生了更改)。

相反,如果文件已打开,请右键单击文件的选项卡(或者,如果当前未打开,请转到侧栏中的文件资源管理器并右键单击该文件),然后转到“提交更改”>“打开带有修订的更改” ...(或使用分支或标签打开更改...)。

  • 正是我正在寻找的(比较 2 个分支之间的 1 个文件),谢谢! (5认同)
  • 这也正是我所需要的。一个小点:当右键单击“源代码控制”面板中的文件时,“打开更改”选项可用,而不是“文件资源管理器”面板(我认为是在安装了 Git Lens 扩展之后)。 (2认同)

pro*_*mer 11

使用Git History Diff插件可以轻松实现并排分支差异:

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

访问上面的链接,向下滚动到名为Diff Branch的 GIF动画.您将看到您可以轻松选择任何分支,并与您所在的分支进行并排比较!这就像预览Github Pull Request中的内容一样.对于其他Git的东西,我更喜欢VSCode的内置功能或其他人提到的Git Lens.但是,上面的插件非常适合进行分支差异(即,对于那些进行rebase Git流并需要在强制推送到Github PR之前预览的人).


Vit*_*sky 9

UPDATE

现在它可用:

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

到目前为止它不受支持,但可以跟随它的线程:github


skr*_*ets 6

现在可以使用githistory扩展。

不过,这里有一个小技巧:您可以比较每个分支的最新提交,这与并排比较两个分支或创建 PR 相同。

下面是如何使用 githistory 扩展来做到这一点:

  1. 打开 githistory
  2. 通过单击“Git Commit Icon” →(通常应该是最新的提交列表)从当前分支中选择最新的提交。从打开的下拉菜单中单击“选择此提交”。
  3. 通过单击“Git Commit Icon”从要比较的分支中选择最新的提交。
  4. 因此,下拉菜单应该出现几个选项 → 选择最后一个选项“与 SHA 比较”,您将看到差异。


Rab*_*ski 6

我通常想将当前签出状态与其他一些分支进行比较master。因为我喜欢使用键盘快捷键,所以我找到了最简单的方法(根据现有的各种答案编译):

  1. ctrl/cmd- P, 打开VSC 命令面板
  2. 开始输入“ git Compare ”。出现以下选项: 在此输入图像描述
  3. 选择“比较 HEAD 与... ”(或任何其他更适合您的用例的选项)
  4. 在出现的对话框中,选择所需的分支,例如master 在此输入图像描述
  5. 在“搜索和比较”窗口(通常位于左下角)中检查结果。根据需要展开箭头,例如查看不同的文件,或Behind查看Ahead提交列表。 在此输入图像描述

如果您想比较两个特定分支(而不是签出的分支),请在步骤 3 中选择“比较引用... ”。之后您可以选择 2 个分支/标签/提交/...