如何使用Git查看指定commit以来所有commit中所有文件的完整diff?
查看指定Commit以来的所有完整变更
一次性展示所有累积变更
如果需要直接查看从目标commit(替换为你的<commit-hash>)到当前分支最新提交的所有文件变更总和,使用以下命令:
git diff <commit-hash> HEAD
该命令会输出指定commit与当前HEAD之间所有文件的完整差异,包含所有行级变更。
按Commit历史顺序逐个查看变更
要是希望按提交的时间顺序,依次查看每个commit里的具体变更内容(每个commit的diff单独展示),用:
git log -p <commit-hash>..HEAD
-p参数会让git log在输出每个commit的基本信息(哈希、作者、提交信息)后,附带该commit的完整diff,范围是从指定commit的下一个提交开始,直到当前最新提交。
输出优化小技巧
针对大输出量的情况,可以用这些参数调整:
- 分页查看:在命令末尾追加
| less,比如git diff <commit-hash> HEAD | less,按空格翻页,按q退出查看 - 忽略空格变更:添加
-w参数,比如git diff -w <commit-hash> HEAD,过滤掉纯空格、换行符的格式变更 - 聚焦特定文件:如果想缩小范围到某个文件,在命令末尾加上文件路径,比如
git diff <commit-hash> HEAD -- src/main.js
内容的提问来源于stack exchange,提问作者rwallace
相关产品推荐
相关产品推荐

