回答重点
在 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 的简短提交记录。