提交页脚是什么
页脚用于在提交信息里附加机器可读的信息,例如破坏性变更声明、关联的需求单号、协作署名。它单独成段、一行一条,格式是「标记: 值」。解析工具按段落识别,git log 与代码平台都能据此自动建立关联。
基本信息
| 位置 | 放在正文之后,与正文之间保留一个空行 |
|---|---|
| 格式 | 标记: 值,同一标记只写一行 |
| 标记规则 | 标记里的空格用连字符替代,如 Acked-by;BREAKING CHANGE 属历史例外 |
| 常见标记 | Closes 关闭关联条目、Refs 仅建立引用、BREAKING CHANGE 声明破坏性变更 |
| 解析工具 | git interpret-trailers 可查看、添加与解析页脚 |
典型使用场景
- 提交时自动关闭关联的需求单或缺陷单
- 声明破坏性变更,让版本工具据此提升主版本号
- 记录结对编程的协作者,保留贡献归属
- 关联外部缺陷跟踪系统的单号,便于回溯背景
- 让发布说明工具按标记自动聚合本次变更内容
常用示例
常用示例
git commit -m 'fix(login): 修复重定向循环' -m 'Closes #4821'
git log -1 --format='%B' # 查看完整提交信息,确认页脚独立成段
git log --grep 'Closes #4821' --oneline # 按页脚内容反查提交
git interpret-trailers --parse < 提交信息文件 # 单独解析页脚
git commit -m 'feat: 重构登录接口' -m 'BREAKING CHANGE: 移除旧版回调地址'常见标记与作用
| 标记 | 作用 | 自动化效果 |
|---|---|---|
| Closes #编号 | 关闭关联的缺陷或需求单 | 平台在合并后自动关闭对应条目 |
| Refs: 单号 | 仅建立引用关系 | 不自动关闭,方便追溯来龙去脉 |
| BREAKING CHANGE | 声明破坏性变更 | 配合规范工具提升主版本号 |
| Co-authored-by | 记录协作作者 | 平台上显示多位作者信息 |
页脚与正文之间缺空行时,整段会被当作正文,关联与识别随之失效,这是实践中最常见的写法错误。
公开仓库里写页脚要避免内部链接与凭据:提交信息会随仓库长期保留,脱敏必须在提交之前完成。