git log 是查看提交历史的主要命令,它提供了多种选项来定制输出。
查看完整的提交历史:
默认情况下,git log 会按时间倒序列出提交,显示提交哈希、作者、日期和提交信息。
简洁的单行格式:
每个提交只显示一行,包含缩短的提交哈希和提交信息。
查看每次提交的详细更改:
-p 或 --patch 选项显示每次提交引入的实际更改(差异)。
查看更改统计:
显示每次提交修改的文件列表以及添加/删除的行数统计。
Git提供了多种选项来自定义日志输出的格式,使其更符合你的需求。
使用 --pretty 选项:
常用格式占位符:
%h - 缩短的提交哈希%an - 作者名字%ar - 相对时间(如"2周前")%s - 提交信息显示分支和合并历史:
选项说明:
--graph - 显示ASCII图形表示分支历史--oneline - 单行显示每个提交--all - 显示所有分支限制显示的提交数量:
使用 -n 或 --max-count=n 限制显示的提交数量。
控制提交的排序方式:
不同的排序方式可以帮助你更好地理解项目历史。
Git提供了强大的筛选功能,让你能够找到特定的提交。
查找特定作者的提交:
作者名可以是完整名称、部分名称或使用正则表达式。
基于时间范围筛选提交:
查找包含特定关键词的提交:
--grep 选项搜索提交信息,支持正则表达式。
查找影响特定文件的提交:
在 -- 后面指定文件路径来筛选影响这些文件的提交。
提示: 你可以组合多个筛选条件来精确查找特定的提交。例如:
Git提供了一些高级选项,用于更深入地分析提交历史。
引用日志记录分支和HEAD的移动历史:
引用日志可以帮助你找回误删的分支或提交。
查看两个提交之间的历史:
创建常用日志命令的别名:
别名可以大大简化常用命令的输入。
比较两个提交之间的差异:
最佳实践: 将常用的复杂日志命令设置为别名,可以大大提高工作效率。例如,你可以创建一个显示图形化历史、作者和相对时间的别名。
实用技巧: 使用 git log -S"function_name" 可以查找添加或删除了特定字符串(如函数名)的提交,这在追踪代码变更时非常有用。