如何查看文件的 Git 变更历史
查看文件变更历史:git log --follow -- <文件路径>(--follow 跨重命名追踪);加 -p 看每次的具体改动,--stat 看统计。git blame 文件 看每一行最后是谁改的。
git log --follow -- 文件路径:列出该文件的全部变更提交,--follow 让它跨过改名将历史连起来。加 -p 看每次提交的具体 diff,加 --stat 只看改动统计。
常用组合
git log --follow --oneline -- src/app.js # 简洁历史
git log --follow -p -- src/app.js # 每次的完整改动
git log --follow --stat -- src/app.js # 统计视图
git log --follow --since="3 months ago" -- src/app.js # 时间过滤
每行级别的追溯
git blame src/app.js # 每行最后是谁、哪个提交改的
git blame -L 50,80 src/app.js # 只看 50-80 行
IDE 与网页
- VS Code:GitLens 的文件历史视图;
- JetBrains:右键文件 → Git → Show History;
- GitHub:文件页面的 History 按钮、Blame 视图。
常见问题(FAQ)
Q:--follow 有什么局限?
一次只能跟一个文件路径;复杂的"拆分文件"场景跟踪可能断。断了就用 git log --all --full-history -- 旧路径 手动接力。
Q:文件被删了还能看历史吗?
能:git log --diff-filter=D -- 路径 找到删除提交,之前的完整历史都在。
Q:想看两个版本间这个文件变了什么?
git diff A B -- 路径。