点击上方 蓝字 关注我们
对于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')
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 展示效果
我们在浏览器打开输出目录位置的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,也可以稍稍提升在开会时吹牛皮的底气,希望这篇文章能帮到大家!
往期推荐
《源码系列》
《经典书籍》
《Java并发编程实战:第2章 影响线程安全性的原子性和加锁机制》
《Java并发编程实战:第3章 助于线程安全的三剑客:final & volatile & 线程封闭》
《服务端技术栈》
《算法系列》
《设计模式》
扫描二维码
获取技术干货
后台技术汇
点个“在看”表示朕
已阅