统计git代码提交量-阿里云开发者社区

开发者社区> 浩码农> 正文

统计git代码提交量

简介: 以下是我写的一个脚本,可以统计在某个项目中,自己修改代码的行数,包括增加多少行,删除多少行。 可以统计当天,24小时内或全部时间内。使用时需要把代码中的author对应的值换成自己的名字。 代码如下: #!/bin/bash function count() { local ...
+关注继续查看

以下是我写的一个脚本,可以统计在某个项目中,自己修改代码的行数,包括增加多少行,删除多少行。

可以统计当天,24小时内或全部时间内。使用时需要把代码中的author对应的值换成自己的名字。

代码如下:

#!/bin/bash
function count() {
    local insert=0
    local delete=0
    while read line ;do
        current=`echo $line| awk -F',' '{printf $2}' | awk '{printf $1}'`
        if [[ -n $current ]]; then 
            insert=`expr $insert + $current`
        fi
        current=`echo $line | sed -n 's/.*, //p' | awk '{printf $1}'`
        if [[ -n $current ]]; then
            delete=`expr $delete + $current`
        fi
    done < .tmp.count
    echo "$insert insertions, $delete deletions"
}

function countAll() {
    git log --author=msdx --shortstat --pretty=format:"" | sed /^$/d >.tmp.count
    count;
    rm .tmp.count
}

function countToday() {
    local current=`date +%s`;
    local begin=`date +%Y-%m-%d |xargs date +%s -d`;
    local minutes=$(($current - $begin));

    git log --author=msdx --since="$minutes seconds ago" --shortstat --pretty=format:"" | sed /^$/d >.tmp.count
    count;
    rm .tmp.count

}

function countOneDay() {
    git log --author=msdx --since="1 days ago" --shortstat --pretty=format:"" | sed /^$/d >.tmp.count
    count;
    rm .tmp.count

}

if [[ ! -n $1 ]] || [[ $1 = "all" ]] ; then 
    countAll;
elif [[ $1 = "oneday" ]]; then
    countOneDay;
elif [[ $1 = "today" ]]; then
    countToday;
else
    echo "args: all | oneday | today";
fi


版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
本地git仓库提交远程失败的解决办法
版权声明:本文为博主原创文章,转载请注明出处。 https://blog.csdn.net/twilight_karl/article/details/52822239 将文件保存到本地版本库后,提交到远程时失败,下面给出截图 在我百度了好久都没有找到解决办法的情况下,我尝试的看了看报错的英文提示,发现我竟然还能看懂。
723 0
代码生成框架Velocity
代码生成框架VelocityVelocity是一个基于Java的模板引擎,用户可以使用模板语言VTL来引用由Java代码定义的对象。
1016 0
使用Android Studio向GitHub提交代码
使用Android Studio向GitHub提交代码 在GitHub上创建一个仓库 填写仓库名称、描述、类型(公有、私有)等信息,点击创建 到此,成功创建了我们的仓库,并且初始化创建了README.
672 0
git学习------&gt;从SVN迁移到Git之后,项目开发代码继续在SVN提交,如何同步迁移之后继续在SVN提交的代码到Git?
最近逐步逐步的将公司的项目都从SVN往Git迁移了,但是想团队成员都能够一步到位就迁移到Git是不可能的,因为还有大部分人都还不会Git,所以整个过渡过程估计得大半年。
1596 0
Git创建分支/GIT提交分支
git clone xxx.git cd fwspp-react git init touch README.md git add README.md git commit -m "add README" git push -u origin master git checkout -b daily/0.
1266 0
数字图像几何变换代码
原文:数字图像几何变换代码 版权声明:本文为博主原创文章,转载请附上链接地址。 https://blog.csdn.net/ld15102891672/article/details/80628817 数字图像的旋转变换、镜像变换、错切变换以及平移变换等称为数字图像的几何变换。
996 0
git学习------&gt;如何修改git已提交的记录中的Author和Email?
一、背景 最近搭建好GitLab后,准备陆陆续续的将之前在SVN仓库中保存的代码迁移到GitLab上,昨天顺利将三个Android组件的代码迁移到GitLab后,其他同事发现迁移是成功了,但是pull下来命令后查看git log 发现所有人的有些都配置成了我的邮箱,尴尬啊。
4169 0
+关注
浩码农
开源社区技术专家
222
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载