使用 git 日志分析提交历史记录
- 使用 git 日志
- git 日志的有用参数
- 查看文件的更改历史记录
- 配置输出格式
- 通过正则表达式根据提交消息进行过滤
- 根据作者或提交者过滤日志输出
使用 git 日志
该命令显示 Git 存储库的历史记录。如果未指定提交引用,则从 HEAD 指针引用的提交开始。git log
git log
git log HEAD~10
显示从 HEAD~10 提交开始的提交历史记录
显示从COMMIT_REF提交开始的提交历史记录
git 日志的有用参数
下面概述了该命令的有用参数。git log
git log --oneline
git log --abbrev-commit
git log --graph --oneline
git log --decorate
–oneline- 将命令的输出放在一行中。 是“–pretty=oneline --abbrev-commit”的简写git log–oneline
–abbrev-commit- log 命令对提交对象使用较短版本的 SHA-1 标识符,但保持 SHA-1 唯一。默认情况下,此参数使用 7 个字符,但您可以指定其他数字,例如 .–abbrev-commit --abbrev=4
graph- 绘制分支的基于文本的图形表示和 Git 存储库的合并历史记录。
装饰 - 将符号指针添加到日志输出
查看文件的更改历史记录
要查看文件中的更改,可以使用命令中的选项。-pgit log
git log -- [file_reference]
git log -p -- [file_reference]
git log --follow -p -- [file_reference]
- 显示此文件的提交列表
- 该参数显示每个提交的差异-p
- –follow在日志输出中包含重命名
配置输出格式
您可以使用该参数来配置输出。–pretty
# command must be issued in one line, do not enter the line break
git log --pretty=format:'%Cred%h%Creset %d%Creset %s %Cgreen(%cr)
%C(bold blue)<%an>%Creset' --abbrev-commit
此命令创建输出。
Git 允许您创建一个或多个现有 Git 命令的简短形式。您可以为此类长命令定义别名。
通过正则表达式根据提交消息进行过滤
您可以筛选命令的输出以提交其提交消息或 reflog 条目分别与指定的正则表达式模式与 and 选项匹配。git log–grep=–grep-reflog=
例如,以下命令指示 log 命令列出在其提交消息中包含单词“workspace”的所有提交。
git log --oneline --grep=“workspace”
“工作区”的提交消息中的 Greps,包含单行参数以提高输出的可读性
还有一个选项。使用此选项时,git 日志会列出与指定模式不匹配的提交。–invert-grep=
根据作者或提交者过滤日志输出
您可以使用 或 按作者或提交者筛选日志输出。您不需要使用全名,如果子字符串匹配,则提交将包含在日志输出中。–author=–committer=
以下命令列出了作者姓名中包含单词“Vogel”的所有提交。
git log --author="Vogel"