日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

cd返回上一 git_git统计代码量脚本

發(fā)布時間:2025/3/21 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 cd返回上一 git_git统计代码量脚本 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

在工作中,我想統(tǒng)計各開發(fā)人員,在一定日期范圍內(nèi)的編碼情況,故有了此腳本。

一、先貼圖,看看效果:

此圖中,用“開發(fā)者姓名”代替了實際項目中git的賬號名稱,輸出結(jié)果按提交次數(shù)倒序輸出。

二、接下來,貼腳本代碼,該腳本是shell腳本,主要用到了git,awk兩個命令:

#!/bin/sh # author:xjf # date: 2020-9-11 # desc: 統(tǒng)計代碼量# git目錄 dir_list="project1 project2"# 創(chuàng)建統(tǒng)計表 commit_file="commit.txt"; if [ -f $commit_file ]; thenrm $commit_file fi touch $commit_file# 循環(huán)目錄 for dir in $dir_list doecho "project:$dir"cd $dirif [ $? -eq 0 ]; then# 同步代碼git pull >/dev/null# 統(tǒng)計代碼信息git log --pretty=format:%H,%ai,%an,%s --no-merges --since=$1 --until=$2 --numstat |awk -F, 'BEGIN{hash="";author=""; date="";comment="";}{if (NF>=4) {gsub(/ /,"_",$0);hash=$1; date=substr($2,1,19); author=$3; comment=$4;} else if (NF>0) print hash"t" date "t" author"t" comment "t" $0;}' |awk '{hash[$1] = $1; author[$1] = $3; date[$1] = $2; comment[$1] = $4; file[$1] += 1; add[$1] += $5; del[$1] += $6; fileName[$1] = fileName[$1]","$7} END{for (i in hash) {printf "%s t %s t %s t %s t %d t %d t %d n",hash[i],author[i],comment[i],date[i],add[i],del[i],file[i]}}' >> ../$commit_file;#返回上級目錄cd ..fi done# 輸出結(jié)果 echo "-----------------------------------" awk 'BEGIN{printf "開發(fā)者t提交次數(shù)t新增代碼行數(shù)t刪除代碼行數(shù)t改動文件數(shù)n"}' awk '{author[$2] = $2; commit[$2] += 1; add[$2] += $5; del[$2] += $6; file[$2] += $7;}END{for (i in author){ printf "%st%dt%dt%dt%dn",author[i],commit[i],add[i],del[i],file[i]}}' $commit_file | sort -k 2 -n -r ;

以上代碼,有一處需要修改為自己的信息:dir_list修改為自己的項目主目錄名稱,用空格隔開。

三、創(chuàng)建自己的腳本文件:

在自己項目的根目錄里創(chuàng)建可執(zhí)行文件,如 get_statistic_commit.sh,并給予執(zhí)行權(quán)限(chmod u+x get_statistic_commit.sh),將以上腳本的內(nèi)容寫到該文件中。

四、執(zhí)行腳本:

執(zhí)行腳本時,有兩個參數(shù):起始日期、結(jié)束日期,執(zhí)行的命令如下:

$ ./get_statistic_commit.sh 2020-09-01 2020-09-30

說明:git log命令的參數(shù)--since會使用第一個日期參數(shù),本例中為2020-09-01,但由于--since參數(shù)統(tǒng)計git代碼時,并不包括指定日期,即2020-09-01當天的代碼并不會統(tǒng)計進來,故起始日期應該寫成前一天的日期。

五、執(zhí)行環(huán)境:

該腳本可在linux環(huán)境下執(zhí)行,前提是需安裝git。也可以在win平臺中執(zhí)行,前提是安裝git.exe。

本示例中使用的是git.exe:

寫在最后,望各位大佬多多指正、交流,共同學習、進步。

總結(jié)

以上是生活随笔為你收集整理的cd返回上一 git_git统计代码量脚本的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。