git log是查看 Git 提交历史最核心的命令。默认情况下它会显示详细的提交信息包括 Commit ID、作者、日期、提交信息等但内容较多且不易阅读。为了更高效地查看记录通常会配合各种参数使用。以下是从基础到高级的常用用法1. 基础美化与简化最推荐这些命令能让日志一目了然适合日常使用。# 1. 简洁模式一行显示一条提交显示 Commit ID 和 提交信息 git log --oneline //显示内容太少不实用 # 2. 图形化模式显示分支合并的拓扑结构非常直观 git log --graph --oneline //不好用 # 3. Ultimate Common Combination: Graphical Concise All Branches Decoration (show branch names/tags) git log --graph --oneline --all --decorate //不好用 技巧你可以把这个长命令配置为别名以后只需输入git lg即可见文末。2. 控制显示数量-n是--max-count的简写作用是只显示最近的 N 条提交记录N 替换成具体数字用来快速筛选少量关键提交避免日志刷屏参数格式灵活可以写git log -n3数字和-n连写也可以写git log -3省略n直接加数字—— 这是更常用的简化写法三种写法效果完全一致git log -n 3git log -n3git log -3# 只看最近的 5 条提交 git log -5 //非常好用 # 或者 git log -n 5 # 只看最近 1 条常用于检查上一次提交 git log -13. 按条件筛选查找特定提交A. 按作者筛选# 只看特定作者的提交 git log --authorZhangSan //还可以 # 支持正则匹配 git log --author^ZhangB. 按时间筛选# 最近 2 天内的提交 git log --since2 days ago //随便用用还可 # 或者 git log --after2 days ago # 2023-01-01 之后的提交 git log --since2023-01-01 # 某个时间段之间 git log --since2023-01-01 --until2023-02-01C. 按文件筛选查看某个文件的提交日志或者查看某个目录的提交日志# 只查看针对某个文件的修改历史非常有用 git log -- src/main.java //查看某文件记录时有用 # 或者当前目录下的所有文件 git log .为什么必须加----是 Git 的路径分隔符核心作用只有一个明确告诉 Git后面的内容是「文件 / 目录路径」不是命令选项Git 命令有两种参数命令选项以-/--开头比如--oneline、-p、--author文件路径普通的文件 / 目录名比如src/main.java如果不加--Git 会尝试把路径当成命令选项解析一旦文件名和选项冲突就会报错D. 按提交信息关键词搜索# Look for records that contain fix bug in the commit information git log --grepfix bug //实际用的少4. 查看具体代码差异 (Diff)不仅想看“谁提交了什么”还想看“具体改了哪行代码”。# 每次提交都显示具体的代码变更统计增删行数 git log --stat //好用 # 每次提交都显示完整的代码差异内容类似 git diff git log -p # 限制条数查看否则内容太多 git log -p -2 //好用类似git diff,但是查看的是远程提交的记录不是本地修改代码可以在-p基础上叠加其他参数精准筛选日志参数作用示例-n 数字只显示最近 n 次提交n 替换成具体数字git log -p -n 3看最近 3 次--stat额外显示每个提交修改的文件列表统计增删行数git log -p --stat文件名只显示指定文件的提交记录及差异精准定位单个文件的修改git log -p README.md--since时间显示指定时间之后的提交支持 1 week ago、2026-03-01 等格式git log -p --since1 day ago--author作者只显示指定作者的提交匹配邮箱 / 用户名git log -p --author张三-S 关键词只显示修改内容包含指定关键词的提交找某段代码的修改记录git log -p -S ConPTY5.只查看单次提交详情#查看本次的所有文件修改 git show commit_id #查看本次提交的单个文件修改 git show a1b2c3d -- src/main.js #只想看这个文件在这次提交后的完整内容 git show commit-id:文件路径6. 只查看提交修改的文件列表只看提交的文件列表最常用git log -1 --name-onlygit show --name-only看文件列表 修改类型新增 / 修改 / 删除git log -1 --name-statusgit show --name-status7.综合使用例子git show commit-id:文件路径 //完整查看某次提交后的文件完整内容git show commit-id:文件路径 old.c #将git文件导入到本地git log --name-only --author邮箱名 #查看某个作者提交的全部内容8. 退出查看模式 还可好用当你运行git log时会进入一个分页查看器less此时空格键 (Space)向下翻一页Pageup键向上翻一行Enter 键向下翻一行f向下翻一页 (forward)b向上翻一页 (back)q退出(quit) ——最重要/keyword搜索关键词例如/fix按n跳转到下一个匹配项。//这个好用类似vi命令总结场景速查我想做什么推荐命令随便看看历史git log --oneline看分支合并情况git log --graph --oneline --all看某个文件谁改过git log --oneline -- 文件名看最近 3 次提交git log -3看某人上周干了啥git log --author名字 --since1 week ago看具体改了啥代码git log -p -1