如何在VSCode中对Git不同分支执行Diff对比操作?
如何在不同Git分支之间执行Diff对比?
不少刚玩Git分支的朋友都会问这个问题——同一分支里对比文件Diff很简单,但跨分支怎么搞?其实不管是用命令行还是VS Code都有很顺手的操作,我给你梳理两种常用的方式:
一、用Git命令行操作
命令行的好处是快捷,不用切换界面,适合习惯敲命令的同学:
- 对比两个分支的所有文件差异:直接执行
git diff branch1 branch2,终端会列出两个分支所有有变动的文件内容差异,用颜色标注增删改。 - 只对比单个特定文件:如果不想看一堆无关差异,加上文件路径就行:
git diff branch1 branch2 -- path/to/your/file,比如git diff main dev -- src/utils.js,只会显示这个文件在两个分支的区别。 - 对比当前分支和另一个分支:如果当前就在其中一个分支上,可以省略当前分支名,直接敲
git diff target-branch,比如你在dev分支,想对比和main的差异,就用git diff main。
二、在VS Code里可视化对比
VS Code的可视化Diff非常直观,适合喜欢图形界面的同学:
- 首先确保你已经在VS Code中打开了对应的Git仓库,并且仓库已经关联了分支。
- 打开源代码控制面板(快捷键:Windows/Linux是
Ctrl+Shift+G,Mac是Cmd+Shift+G)。 - 方法一:点击面板顶部的「分支」图标(那个分叉的小图标),或者直接按下
Ctrl+Shift+P(Mac是Cmd+Shift+P)调出命令面板,输入Git: Compare Branches并执行。然后按提示先选基准分支,再选要对比的目标分支,VS Code会在侧边栏列出所有有差异的文件,点击任意文件就能看到左右分栏的Diff对比,左边是基准分支内容,右边是目标分支内容。 - 方法二:如果只想对比单个文件,更高效的方式是:在文件资源管理器里右键点击要对比的文件,选择「选择以进行比较」;然后切换到另一个分支(或者通过Git历史找到该分支的对应文件),右键点击这个文件,选择「与已选项目比较」,就能直接看到该文件的跨分支Diff。
内容的提问来源于stack exchange,提问作者AturSams




