协作署名是什么
两人及以上共同完成一次提交时,可以在提交信息末尾添加协作署名的行,每行写一位协作者的姓名与邮箱。平台在邮箱能匹配到账号的情况下,会把这次提交同时计入协作者的贡献统计。它记录的是真实的共同参与,结对编程和一起排查线上问题是典型场景。
基本信息
| 语法 | 协作署名行,每行一位,格式为姓名加邮箱 |
|---|---|
| 位置 | 提交信息末尾,与正文之间空一行 |
| 平台效果 | 邮箱匹配账号时同时归入协作者的贡献 |
| 补充方式 | 可以多次使用 -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 # 列出协作署名署名要素
| 要素 | 内容 | 说明 |
|---|---|---|
| 姓名 | 协作者真实姓名 | 与平台账号一致更易匹配 |
| 邮箱 | 协作者账号邮箱 | 不匹配则不显示协作信息 |
| 位置 | 提交信息末尾 | 与正文之间留一个空行 |
协作署名依赖邮箱匹配账号,邮箱与账号不一致时不会显示协作信息,署名之前先和对方确认提交邮箱。
协作署名只记录参与关系,不能替代开发者原创声明的签署行,两者用途不同,必要时可以同时出现在同一个提交里。
一次提交里可以列出多位协作者,每行一位。人数较多时按实际参与程度排序,方便后来人快速判断谁对这次改动最熟悉。