git commit统计

背景:需要统计某个项目开发提交了多少次;
当然最笨的方法就是直接数,但显得不优雅,如果尝试写个脚本来统计;

大致思路:
git log 可以查所有的提交记录,然后通过grep筛选出所有的commit id,入参输入两个commit id,获取对应的commit id的位置,进行相减便可以得到多少次

shell脚本如下:

#!/bin/bash
f1="$1*"
f2="$2*"
echo "第一个版本:"$f1
echo "第二个版本:"$f2
git log | grep "commit [0-9a-zA-Z]\{40\}" | awk 'BEGIN{count=0;} {commit[count]=$2;count++;} END{for(i=0;i<NR;i++) print i,commit[i]}' | grep -E "$f1|$f2" > result
LineNum=`awk 'END {print NR}' ./result`
if [ $LineNum -lt 2 ];then
    echo "版本号输入错误,请检查输入的版本号"
else
num=`awk 'BEGIN{count=0;} {num[count]=$1;count++;} END{print sqrt((num[0]-num[1])*(num[0]-num[1]))+1}' ./result`
echo "相差"$num"个版本"
fi
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容