git log命令常用参数集合

时间:2022-06-16 22:43:03

git log 查看 提交历史

默认不用任何参数的话,git log 会按提交时间列出所有的更新,最近的更新排在最上面。

常用的格式占位符写法及其代表的意义。
选项 说明
%H  提交对象(commit)的完整哈希字串
%h  提交对象的简短哈希字串
%T  树对象(tree)的完整哈希字串
%t   树对象的简短哈希字串
%P  父对象(parent)的完整哈希字串
%p  父对象的简短哈希字串
%an   作者(author)的名字
%ae   作者的电子邮件地址
%ad   作者修订日期(可以用 -date= 选项定制格式)
%ar    作者修订日期,按多久以前的方式显示
%cn    提交者(committer)的名字
%ce    提交者的电子邮件地址
%cd    提交日期
%cr     提交日期,按多久以前的方式显示
%s      提交说明

-p     按补丁格式显示每个更新之间的差异。
--stat     显示每次更新的文件修改统计信息。
--shortstat   只显示 --stat 中最后的行数修改添加移除统计。
--name-only   仅在提交信息后显示已修改的文件清单。
--name-status   显示新增、修改、删除的文件清单。
--abbrev-commit   仅显示 SHA-1 的前几个字符,而非所有的 40 个字符。
--relative-date   使用较短的相对时间显示(比如,“2 weeks ago”)。
--graph   显示 ASCII 图形表示的分支合并历史。
--pretty   使用其他格式显示历史提交信息。可用的选项包括 oneline,short,full,fuller 和 format(后跟指定格式)。

-n   仅显示最近的 n 条提交
--since, --after   仅显示指定时间之后的提交。
--until, --before   仅显示指定时间之前的提交。
--author   仅显示指定作者相关的提交。
--committer   仅显示指定提交者相关的提交。

git log <file> # 查看该文件每次提交记录

git log -p <file> # 查看每次详细修改内容的diff

git log -p -2 # 查看最近两次详细修改内容的diff

git log --stat #查看提交统计信息

实例:

## 按时间显示, 显示提交者
git log --graph --all --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr)%Creset %an' --abbrev-commit --date-order -n 30

## 显示树
git log --graph --all --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr)%Creset' --abbrev-commit --date=relative

##
git log --pretty=format:"%h - %an, %ar : %s" --graph