天天看点

简单五步:利用Gitstats给代码仓库做一次体检

对于Git项目开发,有一些可视化的工具,如gitk,giggle等,来查看项目的开发历史。但这些简单的可视化工具远远不足以了解项目完整的开发历史,类似于gitstats的定量统计数据工具则(如每日提交量,行数等)更能反映项目的开发进程和活跃性。

本文主要讲解gitstats的部署和效果,对于需要写工作总结报告的同事,相信这个工具可以帮助你们在工作量数据栏上添砖加瓦。

简单五步:利用Gitstats给代码仓库做一次体检

Gitstats 是什么

gitstats 是一个git仓库分析软件,可以帮助你查看git仓库的提交状态,根据不同维度分析计算,并自动生成数据图表。

GitStats所生成统计信息常用分为如下几类:

  • 常规的统计:文件总数,行数,提交量,作者数。
  • 活跃性:每天中每小时的、每周中每天的、每周中每小时的、每年中每月的、每年的提交量。
  • 作者数:列举所有的作者(提交数,第一次提交日期,最近一次的提交日期),并按月和年来划分。
  • 文件数:按日期划分,按扩展名名划分。
  • 行数:按日期划分。
git_stats可以在windows和linux使用,但是集成方式有点不太一样,我目前尝试的是win版本的,在这里就先记录win版本的安装及使用,Linux环境的后期需要可以再补充 gitstats 依赖 Git 、Python 以及Gnuplot。
简单五步:利用Gitstats给代码仓库做一次体检

Gitstats 在windows上的部署

第一步:安装部署python2.X

  • 下载python:​​https://www.python.org/downloads/release/python-2713/​​
  • 安装python:python-2.7.13.msi 双击安装即可
简单五步:利用Gitstats给代码仓库做一次体检
  • 测试安装:终端输入 python
简单五步:利用Gitstats给代码仓库做一次体检

第二步:安装部署gnuplot

  • 下载&安装 Gnuplot v5.2.2 _x64位.exe
简单五步:利用Gitstats给代码仓库做一次体检
  • 测试安装:
简单五步:利用Gitstats给代码仓库做一次体检

第三步:安装git(已经安装的同学可以跳过)

  • 下载&安装:​​https://git-scm.com/download​​
简单五步:利用Gitstats给代码仓库做一次体检

第四步:下载gitstats并修改文件

  • 下载&解压:​​https://github.com/hoxu/gitstats​​
  • 修改 gitstats 脚本的后缀拓展名为:gitstats.py
简单五步:利用Gitstats给代码仓库做一次体检
  • 我们可以通过修改 gitstats 脚本的内容,设置仓库统计数据的范围

    (开始日期是2020年1月1日, 'start_date': 'Wed Jan 1 00:00:00 2020 +0800')

conf = {
 'max_domains': 10,
 'max_ext_length': 10,
 'style': 'gitstats.css',
 'max_authors': 20,
 'authors_top': 5,
 'commit_begin': '',
 'commit_end': 'HEAD',
 'linear_linestats': 1,
 'project_name': '',
 'processes': 8,
 'start_date': 'Wed Jan 1 00:00:00 2020 +0800'
}      

第五步:执行脚本,指定git项目源路径,指定结果输出目的路径

源git项目工程的本地路径 -  I:/code/officeauto
结果输出目的路径 - I:/code/testgit/oa
python gitstats.py I:/code/officeauto I:/code/testgit/oa      
  • 输出结果:
简单五步:利用Gitstats给代码仓库做一次体检
简单五步:利用Gitstats给代码仓库做一次体检
简单五步:利用Gitstats给代码仓库做一次体检

Gitstats 展示效果

我们在浏览器打开输出目录位置的index.html文件,在菜单栏中可以找到以下4点:

1、代码仓库信息

简单五步:利用Gitstats给代码仓库做一次体检

2、提交频率维度的数据统计

维度 描述
Commits by Year 全年统计汇总
Commits by year/month 每月统计汇总
Month of Year 每月统计汇总
Hour of Week 每星期按时统计汇总
Day of Week 每星期按日统计汇总
Hour of Day 每天按时统计汇总
Weekly activity 每周统计汇总
Commits by Timezone 时区统计汇总
简单五步:利用Gitstats给代码仓库做一次体检

3、用户提交维度的数据统计

维度 描述
List of Authors 作者总提交列表汇总
Cumulated Added Lines of Code per Author 作者总提交行数汇总
Commits per Author 作者总提交次数汇总
Author of Month 每月作者提交汇总
Author of Year 每年作者提交汇总
Commits by Domains 提交方式汇总
简单五步:利用Gitstats给代码仓库做一次体检

4、文件类型提交维度的数据统计

简单五步:利用Gitstats给代码仓库做一次体检
简单五步:利用Gitstats给代码仓库做一次体检

总结

至此,我们完成了搭建gitstats工具,以及利用该神器完成:查看git仓库的提交状态,根据不同维度分析计算数据,并自动生成数据图表的过程。

利用该工具可以获取一些与团队开发效率相关的信息,甚至活用好gitstats,也可以稍稍提升在开会时吹牛皮的底气,希望这篇文章能帮到大家!

往期推荐

简单五步:利用Gitstats给代码仓库做一次体检

《源码系列》

《​​JDK之Object 类​​》

《​​JDK之BigDecimal 类​​》

《​​JDK之String 类​​》

《​​JDK之Lambda表达式​​》

《经典书籍》​

《​​Java并发编程实战:第1章 多线程安全性与风险​​》

《​​Java并发编程实战:第2章 影响线程安全性的原子性和加锁机制​​》

《​​Java并发编程实战:第3章 助于线程安全的三剑客:final & volatile & 线程封闭​​》

《服务端技术栈》

​​《Docker 核心设计理念​​》

​​《Kafka史上最强原理总结》​​

​​《HTTP的前世今生》​​

《算法系列》​

《​​读懂排序算法(一):冒泡&直接插入&选择比较​​》

​​《读懂排序算法(二):希尔排序算法》​​

​​《读懂排序算法(三):堆排序算法》​​

​​《读懂排序算法(四):归并算法》​​

​​《读懂排序算法(五):快速排序算法》​​

《​​读懂排序算法(六):二分查找算法​​》

《设计模式》

《​​设计模式之六大设计原则​​》

《​​设计模式之创建型(1):单例模式​​》

《​​设计模式之创建型(2):工厂方法模式​​》

《​​设计模式之创建型(3):原型模式​​》

《​​设计模式之创建型(4):建造者模式​​》

简单五步:利用Gitstats给代码仓库做一次体检

扫描二维码