回答重点
在 Git 中,我们可以使用 git log
命令来查看提交历史。这个命令会列出所有的提交记录,显示每个提交的哈希值、作者信息、提交时间和提交信息。
常用的 git log
命令及其选项有:
1) git log
:显示完整的提交历史。
2) git log -n <number>
:显示最近的 n 次提交。
3) git log --oneline
:每条提交信息用一行显示,通常只包括提交哈希的前 7 个字符和提交信息的第一行内容。
4) git log --graph
:绘制 ASCII 图来展示分支、合并历史。
5) git log --author="<author>"
:查找特定作者的提交记录。
6) git log --since=<date>
和 git log --until=<date>
:在指定时间范围内查看提交记录。
7) git log --stat
:显示每次提交的简要统计信息,包括哪些文件被改动以及增加和删除了多少行代码。
扩展知识
git log
命令非常强大,通过结合不同的选项,可以更精细地查看和筛选提交历史。这里我再介绍几个实用的扩展:
1) 格式化输出 : 通过 --pretty=format:<string>
可以自定义日志的输出格式。例如:
git log --pretty=format:"%h - %an, %ar : %s"
:这将输出每个提交的简短哈希、作者名字、相对时间和提交信息。- 常见的占位符:
%H
:提交的完整哈希值%h
:提交的短哈希值%an
:作者的名字%ae
:作者的邮箱%ad
:提交日期%s
:提交说明
2) 差异显示 : 如果需要详细查看每次提交的具体变更内容,可以使用 git log -p
来显示每次提交所涉及的差异(也就是显示 diff)。
3) 路径过滤 : 通过指定路径,可以筛选出只对某个文件或目录的提交:
git log <path>
:只显示涉及到该文件/目录的提交记录。
4) 结合查询 : 还可以用布尔表达式进行更高级的查询:
git log --grep="<pattern>"
:搜索提交信息包含特定模式的提交记录。- 结合多个条件:
git log --author="Alice" --since="2 weeks ago" --oneline
,这将显示过去两周内 Alice 的简短提交记录。