统计git提交 发表于 2023-11-20 | 更新于 2023-11-21 | 评论数: 统计git提交因为工作需要,需要统计一个时间段指定用户的git提交的次数,代码改变的行数,以及依据commit特殊前缀来统计次数。脚本如下: 1234567891011121314151617181920212223242526272829303132#!/bin/bash# 获取输入参数email=$1 #example syfangjie@live.cnstart_date=$2#example 2023-01-01end_date=$3#example 2023-10-31REPO_PATH=$4#example "/Users/mikusugar/code/test"# 进入仓库目录cd $REPO_PATH || exit# 统计提交次数commit_count=$(git log --author="$email" --since="$start_date" --until="$end_date" --pretty=oneline | wc -l)# 统计改变行数line_count=$(git log --author="$email" --since="$start_date" --until="$end_date" --pretty=tformat: --numstat | awk '{ add += $1 - $2 } END { print add }')# 统计feat提交次数 前缀为feat的feat_count=$(git log --author="$email" --since="$start_date" --until="$end_date" --pretty=oneline | grep -c "feat")# 统计fix提交次数 前缀为fix的fix_count=$(git log --author="$email" --since="$start_date" --until="$end_date" --pretty=oneline | grep -c "fix")echo "用户 $email 在当前git仓库的:"echo "提交次数为 $commit_count 次"echo "对代码的改变行数为 $line_count 行"echo "feat 数量 $feat_count 次"echo "fix 数量 $fix_count 次"