如何在Git中对比当前分支与创建时初始状态的差异?
问题解答
完全可以通过Git命令和VSCode两种方式实现,操作方法如下:
Git命令实现步骤
- 首先找到
bugfix/fixing-something分支从master切出的初始分叉点commit哈希:
git merge-base master bugfix/fixing-something
执行后会返回一串哈希值,记为<初始commit哈希>。
这个命令的作用是查找两个分支的最近共同祖先,也就是你创建分支那一刻对应的master分支commit,不受后续你往分支合并master代码的操作影响。
- 执行diff命令对比差异:
如果当前已经切换到bugfix/fixing-something分支,直接执行:
git diff <初始commit哈希>
如果没切换到目标分支,执行:
git diff <初始commit哈希> bugfix/fixing-something
你也可以按需加参数调整输出:
- 加
--name-only:仅输出修改过的文件路径,适合快速确认改动范围:git diff <初始commit哈希> --name-only - 加
--stat:输出每个文件的增删行数统计:git diff <初始commit哈希> --stat
VSCode实现步骤
- 先安装GitLens插件(VSCode最常用的Git增强插件,无需额外配置)
- 打开左侧「源代码管理」面板,切换到GitLens的「COMMITS」提交历史区,找到你切分支对应的初始commit
- 右键点击该commit,选择「Compare with HEAD」,即可在VSCode中可视化查看所有文件的差异改动,支持逐行对比、跳转修改位置等操作。
内容的提问来源于stack exchange,提问作者Jon Sud
相关产品推荐
相关产品推荐

