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

如何获取Git仓库中每位用户的最后提交时间?

获取Git仓库所有用户的最后提交时间

当然可以实现,你可以通过结合git log和awk命令来批量提取并整理所有用户的最新提交时间,刚好匹配你要的输出格式:

git log --format='%aN %ad' --date='format:%b %d' | awk '{if (!seen[$1] || $2" "$3 > seen[$1]) seen[$1] = $2" "$3} END {for (user in seen) print user, seen[$1]}'

命令说明:

  • git log --format='%aN %ad' --date='format:%b %d':
    • %aN 提取提交者的名称;
    • %ad 配合--date='format:%b %d',将日期格式化为「月份缩写 日期」(比如 Nov 22),和你给出的示例格式一致。
  • awk 脚本:
    • 用数组seen跟踪每个用户的最新提交日期,遍历所有提交记录时,若用户未被记录,或者当前提交日期比已记录的更新,就更新该用户的最新日期;
    • 最后遍历数组,输出每个用户和对应的最新提交时间。

如果需要按提交日期排序输出,可以在命令末尾加上排序逻辑:

git log --format='%aN %ad' --date='format:%b %d' | awk '{if (!seen[$1] || $2" "$3 > seen[$1]) seen[$1] = $2" "$3} END {for (user in seen) print user, seen[$1]}' | sort -k2,3M

这里sort -k2,3M会按月份名称(比如Jan、Feb)和日期排序,让输出更规整。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 11:50:32