You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让git log --name-only显示Co-authored-by标注的共同作者

Git提交共同作者(Co-authored-by)日志不显示解决方案

git log --name-only 默认输出规则仅读取提交元数据里的主Author字段,不会主动解析提交正文中的Co-authored-by trailer声明,因此默认输出只会展示单个主作者,属于正常现象,并非提交配置错误。

临时查看带共同作者的提交记录

直接使用自定义格式参数调用git log,让输出包含完整提交正文即可看到所有共同作者声明,同时保留改动文件列表输出:

git log --format="commit %H%nAuthor: %an <%ae>%n%B%nChanged files:" --name-only

参数说明:

  • %H:输出完整提交哈希
  • %an <%ae>:输出主作者姓名和邮箱
  • %B:完整输出提交标题+正文内容,所有写在正文里的Co-authored-by行会原样展示
  • --name-only:保留原有的改动文件列表输出能力

如果不需要展示其他提交正文内容,只提取共同作者行,可以配合过滤逻辑使用:

git log --pretty=format:"commit %H%nAuthor: %an <%ae>" --name-only | while read -r entry; do
  echo "$entry"
  if [[ $entry == commit* ]]; then
    hash=${entry#commit }
    git show -s --format=%B "$hash" | grep "^Co-authored-by:"
  fi
done

永久配置默认展示共同作者

通过Git全局别名配置,把带共同作者展示的日志命令设为快捷指令,避免每次输入长参数:

git config --global alias.logca 'log --format="%C(yellow)commit %H%Creset%nAuthor: %an <%ae>%n%B%nChanged files:" --name-only'

配置完成后,在任意Git仓库执行git logca即可输出包含主作者、所有共同作者、改动文件列表的完整日志。

格式校验注意点

如果上述命令执行后还是看不到共同作者,先检查提交里的Co-authored-by格式是否合规:

  • Co-authored-by:行必须和提交标题之间保留至少一个空行,属于提交正文部分
  • 行首不能有多余缩进、空格
  • 行内容必须符合Co-authored-by: 作者姓名 <作者绑定Git的邮箱>格式,邮箱部分不能缺失
  • 如果是提交后补加的共同作者,需要通过git commit --amend修改提交信息后再推送,旧提交记录不会自动更新共同作者字段

内容的提问来源于stack exchange,提问作者tristone

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.30 07:03:17