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

如何按日期统计Git中每个提交者的增删行数汇总

按作者、提交时间汇总Git提交的增删总行数

解决方案命令

直接使用以下命令即可生成你需要的CSV格式统计结果,支持所有作者的提交数据:

git log --date=iso --numstat \
    --pretty=format:'START,%ad,%aN' \
    | awk '
        BEGIN { FS=","; OFS="," }
        /^START/ {
            if (commit_date != "") {
                print author, commit_date, add_total, del_total
            }
            commit_date = $2
            author = $3
            add_total = 0
            del_total = 0
            next
        }
        {
            add = ($1 == "-") ? 0 : $1
            del = ($2 == "-") ? 0 : $2
            add_total += add
            del_total += del
        }
        END {
            if (commit_date != "") {
                print author, commit_date, add_total, del_total
            }
        }
    '

命令说明

  1. Git Log 部分

    • --date=iso:输出ISO标准格式的提交时间(如2024-08-20 14:10:15)
    • --numstat:输出每个提交中各文件的新增行数、删除行数及文件名
    • --pretty=format:'START,%ad,%aN':为每个提交的开头添加START标记,同时输出提交时间和作者,方便awk识别提交边界
  2. Awk 处理部分

    • 识别START开头的行作为新提交的起始点,重置累加器并记录当前提交的时间和作者
    • 处理numstat输出的文件行:自动处理-(表示无对应行数,如删除文件时新增行数为-),将其转为0后累加新增、删除总行数
    • 每个提交处理完成后输出统计结果,最后在END块输出最后一个提交的统计

过滤特定作者

如果需要只统计某个作者的提交,只需在git log后添加--author="目标作者"参数即可,例如:

git log --date=iso --numstat \
    --pretty=format:'START,%ad,%aN' \
    --author="some_author" \
    | awk '
        BEGIN { FS=","; OFS="," }
        /^START/ {
            if (commit_date != "") {
                print author, commit_date, add_total, del_total
            }
            commit_date = $2
            author = $3
            add_total = 0
            del_total = 0
            next
        }
        {
            add = ($1 == "-") ? 0 : $1
            del = ($2 == "-") ? 0 : $2
            add_total += add
            del_total += del
        }
        END {
            if (commit_date != "") {
                print author, commit_date, add_total, del_total
            }
        }
    '

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.19 06:47:33