首页/开发/Git 与协作速查/提交页脚与关联信息
协作与代码评审75 条

提交页脚与关联信息

页脚用于附加机器可读信息:BREAKING CHANGE、引用 Issue(Refs、Closes)与其他 trailer;token 中的空格用连字符替代。

Git 与协作速查开发更新于 2026-10-13

提交页脚是什么

页脚用于在提交信息里附加机器可读的信息,例如破坏性变更声明、关联的需求单号、协作署名。它单独成段、一行一条,格式是「标记: 值」。解析工具按段落识别,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记录协作作者平台上显示多位作者信息
页脚与正文之间缺空行时,整段会被当作正文,关联与识别随之失效,这是实践中最常见的写法错误。
公开仓库里写页脚要避免内部链接与凭据:提交信息会随仓库长期保留,脱敏必须在提交之前完成。

易错点

  • 把页脚与正文挤在一段,平台识别不到关闭指令,需求单一直停在未关闭状态
  • 自定义标记随意取名或使用中文标点,解析工具无法识别;应约定固定写法并写入团队规范
  • 在页脚粘贴内部工单链接或调试信息,公开仓库会长期暴露,提交前逐条检查
  • 同一个标记写成多行,解析时只有最后一行生效,容易造成关联遗漏

数据来源与参考

  • Conventional Commits 1.0.0 规范(footer 章节)
  • Git 官方文档:git-interpret-trailers
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌