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

如何在Git中全局汇总多代码库代码行数变更及验证目标完成情况

代码行数变更追踪与统计方案

一、GitHub/GitLab的代码行数变更追踪能力

  • GitHub:个人主页的贡献面板自带代码提交行数统计,默认展示年度新增/删除行数,仅统计主分支提交。可通过「Contribution settings」调整统计范围(包含fork仓库等),平台会自动计算你push的所有提交的增删行数并按时间汇总。
  • GitLab:个人贡献页面同样支持按时间筛选,展示你在所有参与仓库中的代码增删总行数,默认统计你拥有或参与协作的仓库提交。

二、年末验证20000行目标的方法

  1. 平台直接查看:在GitHub/GitLab个人贡献页筛选2023年全年时间段,查看累计新增+删除行数总和。注意确认统计范围是否包含所有你参与的仓库(部分平台默认仅统计自有仓库,需手动开启fork仓库统计)。
  2. 本地精确统计:若平台统计存在分支遗漏等误差,可将所有相关仓库clone到本地,针对每个仓库用Git命令统计你在指定时间段内的提交行数,再手动汇总。

三、Git全局汇总多仓库代码行数变更

可以通过Shell脚本批量遍历仓库并统计,以下是实用脚本示例(适用于Linux/macOS):

创建脚本文件count_lines.sh:

#!/bin/bash
# 配置你的Git用户名和统计时间范围
AUTHOR="你的Git用户名"
START_DATE="2023-01-01"
END_DATE="2023-12-31"

# 初始化统计变量
TOTAL_ADD=0
TOTAL_DEL=0

# 遍历指定目录下的所有Git仓库
for repo in /path/to/your/repositories/*; do
    if [ -d "$repo/.git" ]; then
        echo "正在统计: $repo"
        cd "$repo"
        # 提取当前仓库的增删行数
        stats=$(git log --author="$AUTHOR" --since="$START_DATE" --until="$END_DATE" --pretty=tformat: --numstat)
        add=$(echo "$stats" | awk '{sum += $1} END {print sum}')
        del=$(echo "$stats" | awk '{sum += $2} END {print sum}')
        # 累加至全局统计
        TOTAL_ADD=$((TOTAL_ADD + add))
        TOTAL_DEL=$((TOTAL_DEL + del))
        cd ..
    fi
done

# 输出最终统计结果
echo "====================================="
echo "统计周期: $START_DATE 至 $END_DATE"
echo "作者: $AUTHOR"
echo "新增总行数: $TOTAL_ADD"
echo "删除总行数: $TOTAL_DEL"
echo "总计变更行数(新增+删除): $((TOTAL_ADD + TOTAL_DEL))"

使用步骤:

  1. 替换脚本中的AUTHOR为你的Git用户名,/path/to/your/repositories为存放所有仓库的目录路径。
  2. 给脚本添加执行权限:chmod +x count_lines.sh
  3. 运行脚本:./count_lines.sh

注意事项:

  • 确保所有仓库已执行git pull拉取最新提交。
  • 作者名需与Git配置中的user.name完全一致,否则会遗漏统计。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 06:32:11