统计git代码提交量
以下是我写的一个脚本,可以统计在某个项目中,自己修改代码的行数,包括增加多少行,删除多少行。
可以统计当天,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代码提交量的更多相关文章
- 统计svn 代码提交情况
统计svn代码提交,使用工具 statsvn.jar 下载地址:http://sourceforge.net/projects/statsvn/ rem 声明一个时间变量 作为文件名 %time:~, ...
- 常用git代码提交命令
知识点:本篇博客记录了日常开发中,所涉及到git代码提交命令 (一)初始化本地仓库,提交代码,提交到远程git远程仓库 git init //初始化本地仓库 git add . //将当前目 ...
- GitStats - 统计Git所有提交记录工具
如果你是研发效能组的一员或者在从事 CI/CD 或 DevOps,除了提供基础设施,指标和数据是也是一个很重要的一环,比如需要分析下某个 Git 仓库代码提交情况: 该仓库的代码谁提交的代码最多 该仓 ...
- git代码提交步骤,教程
代码提交 代码提交一般有五个步骤: 1.查看目前代码的修改状态 2.查看代码修改内容 3.暂存需要提交的文件 4.提交已暂存的文件 5.同步到服务器 1. 查看目前代码的修改状态 提交代码之前 ...
- git代码提交与克隆
在工作中,越来越多的人会使用git来管理代码.下面简单的介绍一下git在工作中的使用流程 1.给你一个git地址,将代码拉下来基本操作流程如下: 1.1 git clone "项目地址&qu ...
- Git代码提交报错 (Your branch is up to date with 'origin/master)
一.前言 今天码云上提交自己本地的一个SpringBoot+Vue的小项目,由于前端代码提交第一次时候提交码云上文件夹下为空,于是自己将本地代码复制到码云拉取下来代码文件夹下,然而git add . ...
- 在windows 上统计git 代码量
1 需要系统安装 git + gawk git 安装自行百度 gawk 到官网下载 http://gnuwin32.sourceforge.net/packages/gawk.htm 1.2 下载好后 ...
- 用StatSVN统计svn项目中每人代码提交量
用StatSVN统计SVN服务器项目的代码量 下载并安装SVN统计工具StatSVN 1)下载地址:sourceforge.net/projects/statsvn/ 2)解压压缩包,到一个目录,如D ...
- git代码提交方式
https://my.oschina.net/tearlight/blog/193921 <a>github的提交方式 (1)git add .----------------- ...
随机推荐
- Spring学习笔记4——AOP
AOP 即 Aspect Oriented Program 面向切面编程 首先,在面向切面编程的思想里面,把功能分为核心业务功能,和周边功能. 所谓的核心业务,比如登陆,增加数据,删除数据都叫核心业务 ...
- 使用Unity NGUI-InputField组件输入时发现显示为白色就是看不到字体
今天在接入android支付宝 SDK时,打包运行时,发现使用Unity NGUI-InputField组件输入时发现显示为白色就是看不到字体,查找一下发现是与android交互存在的问题, 只需在A ...
- python中不能写n++
初学python发现写n++编译器直接报错,很纳闷,后来想起来python中的变量不像c那样事先定义好变量类型,在内存中开辟指定的空间,然后再开始赋值.在Python中,以字符串为例:事先在内存划分空 ...
- 数据库学习番外篇 神奇的Redis
数据库学习番外篇 神奇的Redis 由于最近呢小猿我找到了自己的女神,所以整个学习计划都被打乱了,本来想着一天看一张<SQLServer宝典>的.没成想,我竟然脱离了单身狗的队伍. 最近准 ...
- cisco 的六种模式(cisco 系统)
- Redis Error:/var/redis/run/redis_6379.pid exists, process is already running or crashed
命令service Redis start /var/redis/run/redis_6379.pid exists, process is already running or crashed 引起 ...
- logback学习二
转载:https://www.cnblogs.com/DeepLearing/p/5663178.html 属性 : debug : 默认为false ,设置为true时,将打印出logback内部日 ...
- flask+apscheduler+redis实现定时任务持久化
在我们开发flask的时候,我们会结合apscheduler实现定时任务,我们部署到服务器上,会不会遇到这样的问题,每次我们部署后,我们重启服务后,原来的定时任务都需要重启,这样对我们经常迭代的项目肯 ...
- windows下cmd中命令操作
windows下cmd中命令: cls清空 上下箭头进行命令历史命令切换 ------------------------------------------------------------- ...
- ZOJ-2965
Accurately Say "CocaCola"! Time Limit: 2 Seconds Memory Limit: 65536 KB In a party he ...