用途:在 Git 提交信息末尾编写结构化键值元数据(trailer),用于驱动 release-please 自动化、署名归属和问题关联。
主要能力:支持 BREAKING CHANGE(触发主版本升级,! 后缀与 footer 两种形式均识别,BREAKING-CHANGE 连字符写法同样有效)、Release-As(强制指定下一版本,大小写不敏感)、Co-authored-by、Signed-off-by、Reviewed-by、Tested-by、Acked-by 等署名类 trailer,以及 Fixes/Closes/Refs 问题引用。单个提交可通过 footer 中的多条 conventional commit 消息产生多条 changelog 条目;BEGIN_COMMIT_OVERRIDE 可在 squash-merge 后覆盖已合并 PR 的 changelog 条目。
使用方式:用 git interpret-trailers 添加或解析,例如 echo "feat(auth): add OAuth2" | git interpret-trailers --trailer "Co-authored-by: Claude noreply@anthropic.com";解析最近提交用 git log -1 --format='%B' | git interpret-trailers --parse。检测 DCO 约定可用 git log -20 --format='%B' | git interpret-trailers --parse | grep -c "Signed-off-by"。添加新 trailer 前应先扫描项目近期提交,匹配既有约定。
适用场景:需要版本升级控制、AI 辅助或结对编程署名、DCO 合规(如 Linux 内核、CNCF 项目)、代码评审与测试归属、问题关联的仓库。
限制:BEGIN_COMMIT_OVERRIDE 仅在 squash-merge 下生效;附加的 conventional commit 消息必须位于提交正文底部;资料未提供该技能的安装方式、平台支持与收费信息。