使用 git log 可查看文件、分支和作者的提交历史:通过 git log filename.txt 查看文件修改记录,加 -p 显示具体差异;指定分支名或使用 main..dev 查看分支间提交;用 --author="张三" 过滤某开发者提交;结合 --oneline、--stat、--since、--grep 等选项提升可读性和筛选效率。

想了解一个文件的修改过程,某个分支的演变,或是某位开发者提交的内容?Git 提供了强大的日志功能来查看项目中各类历史信息。下面介绍如何通过 git log 和相关命令,高效查看文件、分支和作者的完整历史。
查看文件的历史修改记录
要查看某个文件从创建至今的所有变更,可以直接在 git log 后加上文件路径:
git log filename.txt这会列出所有涉及该文件的提交记录,包括提交哈希、作者、日期和提交信息。
如果想看到每次修改的具体内容差异,加上 -p 参数:
git log -p filename.txt还可以用 --stat 查看每次提交中该文件的增删行统计:
git log --stat filename.txt查看特定分支的提交历史
默认情况下,git log 显示当前所在分支的历史。若想查看其他分支的提交记录,可指定分支名:
git log feature-branch要对比两个分支之间的差异(比如主分支与开发分支),可以使用:
git log main..dev这条命令会显示在 dev 分支但不在 main 分支的提交。
加上 --graph 可以可视化分支合并结构:
git log --oneline --graph --all这样能清晰看到各分支的演进和合并点。
按作者查看提交历史
如果你只关心某位开发者所做的贡献,可以用 --author 过滤提交记录:
git log --author="张三"支持正则表达式匹配,比如查找邮箱包含 zhangsan@ 的提交:
git log --author="zhangsan@"结合文件过滤,还能查出某人在某个文件上的所有修改:
git log --author="张三" path/to/file.js增强可读性的常用选项
原始的日志输出可能信息密集,以下参数能提升可读性:
- --oneline:每条提交压缩成一行,格式为 “哈希 简要信息”
- --pretty=format:"%h - %an, %ar : %s":自定义输出格式(如哈希、作者、相对时间、提交信息)
- --since 和 --until:按时间范围筛选,例如 git log --since="2 weeks ago"
- --grep:按提交信息中的关键词搜索,如 git log --grep="修复登录"
基本上就这些。灵活组合 git log 的参数,就能精准定位你想了解的历史信息。不复杂,但容易忽略细节。多试试不同的选项,你会更熟悉项目的演变过程。










