Git Log
最后更新
git log 显示当前分支的提交历史,最新的在最前面,列出每个提交的哈希值、作者、日期和提交信息。加上几个选项会好用得多:--oneline 精简显示,--graph 查看分支结构,还有筛选选项可以只看某个作者、某个文件或某段时间的提交。
在终端在线编辑器中试试这些命令:浏览器里就是真正的 shell,无需安装。
语法
| 命令 | 作用 |
|---|---|
git log | 完整的提交历史,最新的在前 |
git log --oneline | 每个提交只占一行 |
git log --oneline --graph --all | 精简历史,并附带分支图 |
git log -n 5 | 只显示最近 5 个提交 |
git log --author="Ada" | 按作者筛选 |
git log -- file.txt | 单个文件的历史 |
git log -p | 显示每个提交中的改动 |
常见用法
| 目标 | 命令 |
|---|---|
| 快速浏览历史 | git log --oneline |
| 查看分支与合并结构 | git log --graph --oneline --all |
| 某个文件随时间发生了哪些变化 | git log -p -- file.txt |
| 某个标签之后的提交 | git log v1.0..HEAD |
git log 常见问题
Git 怎么查看提交历史?
运行
git log。它按从新到旧的顺序列出当前分支上的提交,显示每个提交的哈希值、作者、日期和提交信息。按空格键翻页,按 q 退出。加上 --oneline 等选项可以让输出更紧凑。git log --oneline 有什么用?
它把每个提交压缩成一行,只显示短哈希和提交信息的摘要,方便你快速浏览大量历史。配合
--graph --all 使用,还能用 ASCII 图看出各个分支是怎样分叉与合并的。怎么查看单个文件的历史?
运行
git log -- <file> 列出改动过这个文件的提交,或者运行 git log -p -- <file>,同时显示每个提交对它做了哪些修改。-- 用来把路径和其他参数分开,这样 Git 就不会把文件名误认为分支名。怎么按作者或日期筛选日志?
用
git log --author="name" 只看某个作者的提交,用 --since / --until 限定时间范围(例如 git log --since="2 weeks ago")。这些筛选条件可以组合使用,帮你精确找到想看的那部分历史。可以在线练习吗?
可以。打开终端在线编辑器,就能在浏览器里的真实 shell 中运行
git log,无需安装。Coddy 的免费互动 Git 课程也会一步步教你查看提交历史。