Git --format参数速查表
Eave
2026.08.27
Git--format参数速查表
语法:git log --format='%h - %an : %s'。占位符用 % 开头,%% 输出一个百分号,%n 换行。下面按用途分类整理常用与完整参数。
一、哈希/对象
| 参数 | 含义 |
|---|---|
| %H | 完整 commit hash |
| %h | 缩写 commit hash |
| %T | 完整 tree hash |
| %t | 缩写 tree hash |
| %P | 完整 parent hashes(多个空格分隔) |
| %p | 缩写 parent hashes |
二、作者(Author,真正写代码的人)
| 参数 | 含义 |
|---|---|
| %an | 作者名 |
| %aN | 作者名(受 .mailmap 影响) |
| %ae | 作者邮箱 |
| %aE | 作者邮箱(受 .mailmap 影响) |
| %al | 作者邮箱 @ 前部分 |
| %aL | 同上(受 .mailmap 影响) |
| %ad | 作者日期(受 --date=format:'%Y-%m-%d %H:%M:%S' 控制格式) |
| %aD | 作者日期,RFC2822(Mon, 25 Apr 2022 23:53:09 +0200) |
| %ar | 作者日期,相对时间(2 days ago) |
| %at | 作者日期,UNIX 时间戳 |
| %ai | 作者日期,ISO 8601-like(2022-05-02 15:49:11 +0200) |
| %aI | 作者日期,严格 ISO 8601(2022-05-02T15:49:11+02:00) |
| %as | 作者日期,短格式(YYYY-MM-DD) |
| %ah | 作者日期,human 格式 |
三、提交者(Committer,最后提交到仓库的人)
| 参数 | 含义 |
|---|---|
| %cn / %cN | 提交者名(%cN 受 .mailmap 影响) committer |
| %ce / %cE | 提交者邮箱(%cE 受 .mailmap 影响) |
| %cl / %cL | 提交者邮箱 @ 前部分 |
| %cd / %cD / %cr / %ct / %ci / %cI / %cs / %ch | 提交者日期,规则同作者对应项 |
作者 ≠ 提交者:别人发 patch 给你,你是 committer,他是 author。
四、提交信息
| 参数 | 含义 |
|---|---|
| %s | subject,提交标题(第一行) subject |
| %f | 标题清洗版,适合做文件名 |
| %b | body,提交正文 |
| %B | 原始完整信息(标题 + 正文) |
| %N | commit notes(若有) |
| %e | 编码(如 UTF-8) |
五、引用/分支/标签
| 参数 | 含义 |
|---|---|
| %d | 引用名,带括号装饰((HEAD -> main, origin/main, tag: v1.0)) ref |
| %D | 引用名,不带括号(HEAD -> main, origin/main) |
| %S | 命令行里通过该 ref 到达此 commit 的名字(配合 git log --source) |
六、GPG签名
| 参数 | 含义 |
|---|---|
| %G? | 签名状态:G=有效,B=无效,U=未知,N=无签名 gpg |
| %GG | GPG 原始校验信息 |
| %GS | 签名者名字 |
| %GK | GPG key id |
七、控制字符/颜色
| 参数 | 含义 |
|---|---|
| %n | 换行 ctrl |
| %% | 输出一个 % |
| %Cred / %Cgreen / %Cblue / %Cyellow / %Creset | 颜色控制(红/绿/蓝/黄/重置) |
| %C(auto) | 自动颜色 |
| %C(#ffffff) | 自定义颜色(十六进制) |