首页/开发/Git 与协作速查/协作署名 Co-authored-by
协作与代码评审75 条

协作署名 Co-authored-by

两人及以上共同完成一次提交时,在提交信息末尾添加 Co-authored-by: 姓名 <邮箱>;平台会把协作作者计入贡献统计(邮箱需匹配账号)。

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

协作署名是什么

两人及以上共同完成一次提交时,可以在提交信息末尾添加协作署名的行,每行写一位协作者的姓名与邮箱。平台在邮箱能匹配到账号的情况下,会把这次提交同时计入协作者的贡献统计。它记录的是真实的共同参与,结对编程和一起排查线上问题是典型场景。

基本信息

语法协作署名行,每行一位,格式为姓名加邮箱
位置提交信息末尾,与正文之间空一行
平台效果邮箱匹配账号时同时归入协作者的贡献
补充方式可以多次使用 -m 参数追加正文行

典型使用场景

  • 结对编程时把两位参与者都记录下来
  • 共同排查线上问题时保留合作痕迹
  • 两名开发者一起修复同一个缺陷
  • 新人第一次提交由导师陪同完成时如实记录
  • 跨团队协作的紧急改动需要双方署名

提交示例

提交示例
git commit -m 'feat(search): 支持拼音联想' -m 'Co-authored-by: Li Si <lisi@example.com>'  # 追加协作署名
git log -1 --format=%B                                       # 查看完整提交信息
git log --format='%h %(trailers:key=Co-authored-by)' -5      # 列出协作署名

署名要素

要素内容说明
姓名协作者真实姓名与平台账号一致更易匹配
邮箱协作者账号邮箱不匹配则不显示协作信息
位置提交信息末尾与正文之间留一个空行
协作署名依赖邮箱匹配账号,邮箱与账号不一致时不会显示协作信息,署名之前先和对方确认提交邮箱。
协作署名只记录参与关系,不能替代开发者原创声明的签署行,两者用途不同,必要时可以同时出现在同一个提交里。
一次提交里可以列出多位协作者,每行一位。人数较多时按实际参与程度排序,方便后来人快速判断谁对这次改动最熟悉。

易错点

  • 邮箱与实际账号不一致时不显示共同作者信息,先与对方确认提交邮箱
  • 署名不能替代原创声明的签署行,两者用途不同,需要各自满足项目要求
  • 随手给别人加署名而对方并未参与,属于不实记录,也会让贡献统计失去可信度
  • 把协作署名写进正文段落而不是独立成行,平台可能识别不到

数据来源与参考

  • GitHub Docs:Creating a commit with multiple authors
  • GitLab Docs:Merge commit trailers(Co-authored-by)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌