如何查看某个提交的具体改动

查看提交的改动:git show <提交哈希> 显示提交信息及对应类型的 diff(合并提交需另选比较方式);只要统计用 --stat,只看文件名用 --name-only,看单行级变化加 --word-diff。

最佳实践
Git 提交历史与版本恢复示意

git show <提交哈希>:输出该提交的完整信息——作者、日期、提交信息、以及按该提交类型和 diff 选项生成的差异。这是审查单个提交的标配命令。

常用变体

git show a1b2c3d                    # 完整 diff
git show --stat a1b2c3d             # 只要统计摘要
git show --name-only a1b2c3d        # 只要文件列表
git show --word-diff a1b2c3d        # 行内变化高亮(改文案时好用)
git show a1b2c3d -- src/app.js      # 只看某个文件的改动

对比任意两个提交

git diff a1b2c3d e4f5a6b            # 两个提交间的差异
git diff a1b2c3d^!                  # 对普通单父提交表示相对父提交的差异;不能泛化为所有 show 输出

查看 merge 提交

git show 对合并提交通常使用组合 diff,只显示特定的共同修改情况,不是所有父提交差异的总和,想看完整 diff:

git show --first-parent a1b2c3d     # 相对主线父提交的 diff
git diff a1b2c3d^1 a1b2c3d          # 等价显式写法

常见问题(FAQ)

Q:没有哈希怎么找提交?

git log --oneline 翻历史;git log -S"关键词" 查该字符串出现次数改变的提交,不是一般全文搜索;git reflog 找最近的 HEAD 移动记录。

Q:想看"这个文件在那个提交时长什么样"?

git show a1b2c3d:src/app.js 输出文件的完整内容(不是 diff)。

Q:IDE 里更方便吗?

VS Code(GitLens)和 JetBrains 的提交历史面板都提供图形化的提交审查视图,大改动看起来比终端 diff 省力。

参考资料

获取专属方案

联系我们

加入社区

微信扫码
加入官方交流群

立即体验

在线开通,按量计费,真正的云服务!

立即开始

选择观测云版本

代码托管平台