对于Git项目开发,有一些可视化的工具,如gitk,giggle等,来查看项目的开发历史。但这些简单的可视化工具远远不足以了解项目完整的开发历史,类似于gitstats的定量统计数据工具则(如每日提交量,行数等)更能反映项目的开发进程和活跃性。
本文主要讲解gitstats的部署和效果,对于需要写工作总结报告的同事,相信这个工具可以帮助你们在工作量数据栏上添砖加瓦。
Gitstats 是什么
gitstats 是一个git仓库分析软件,可以帮助你查看git仓库的提交状态,根据不同维度分析计算,并自动生成数据图表。
GitStats所生成统计信息常用分为如下几类:
- 常规的统计:文件总数,行数,提交量,作者数。
- 活跃性:每天中每小时的、每周中每天的、每周中每小时的、每年中每月的、每年的提交量。
- 作者数:列举所有的作者(提交数,第一次提交日期,最近一次的提交日期),并按月和年来划分。
- 文件数:按日期划分,按扩展名名划分。
- 行数:按日期划分。
git_stats可以在windows和linux使用,但是集成方式有点不太一样,我目前尝试的是win版本的,在这里就先记录win版本的安装及使用,Linux环境的后期需要可以再补充 gitstats 依赖 Git 、Python 以及Gnuplot。
Gitstats 在windows上的部署
第一步:安装部署python2.X
- 下载python:https://www.python.org/downloads/release/python-2713/
- 安装python:python-2.7.13.msi 双击安装即可
- 测试安装:终端输入 python
第二步:安装部署gnuplot
- 下载&安装 Gnuplot v5.2.2 _x64位.exe
- 测试安装:
第三步:安装git(已经安装的同学可以跳过)
- 下载&安装:https://git-scm.com/download
第四步:下载gitstats并修改文件
- 下载&解压:https://github.com/hoxu/gitstats
- 修改 gitstats 脚本的后缀拓展名为:gitstats.py
- 我们可以通过修改 gitstats 脚本的内容,设置仓库统计数据的范围
(开始日期是2020年1月1日, 'start_date': 'Wed Jan 1 00:00:00 2020 +0800')
第五步:执行脚本,指定git项目源路径,指定结果输出目的路径
- 输出结果:
Gitstats 展示效果
我们在浏览器打开输出目录位置的index.html文件,在菜单栏中可以找到以下4点:
1、代码仓库信息
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 |
时区统计汇总 |
3、用户提交维度的数据统计
维度 |
描述 |
List of Authors |
作者总提交列表汇总 |
Cumulated Added Lines of Code per Author |
作者总提交行数汇总 |
Commits per Author |
作者总提交次数汇总 |
Author of Month |
每月作者提交汇总 |
Author of Year |
每年作者提交汇总 |
Commits by Domains |
提交方式汇总 |
4、文件类型提交维度的数据统计
总结
至此,我们完成了搭建gitstats工具,以及利用该神器完成:查看git仓库的提交状态,根据不同维度分析计算数据,并自动生成数据图表的过程。
利用该工具可以获取一些与团队开发效率相关的信息,甚至活用好gitstats,也可以稍稍提升在开会时吹牛皮的底气,希望这篇文章能帮到大家!
往期推荐
《源码系列》
《JDK之Object 类》
《JDK之String 类》
《JDK之Lambda表达式》
《经典书籍》
《Java并发编程实战:第1章 多线程安全性与风险》
《Java并发编程实战:第2章 影响线程安全性的原子性和加锁机制》
《Java并发编程实战:第3章 助于线程安全的三剑客:final & volatile & 线程封闭》
《服务端技术栈》
《算法系列》
《设计模式》
《设计模式之六大设计原则》
扫描二维码
获取技术干货
后台技术汇