写点什么

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

发布于: 2021 年 01 月 20 日
简单五步:利用Gitstats给代码仓库做一次体检

1、写在开头

对于 Git 项目开发,有一些可视化的工具,如 gitk,giggle 等,来查看项目的开发历史。但本文主要讲解 gitstats 的部署和效果,对于需要写工作总结报告的同事,相信这个工具可以帮助你们在工作量数据栏上添砖加瓦。

2、Gitstats 是什么

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

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

  • 常规的统计:文件总数,行数,提交量,作者数。

  • 活跃性:每天中每小时的、每周中每天的、每周中每小时的、每年中每月的、每年的提交量。

  • 作者数:列举所有的作者(提交数,第一次提交日期,最近一次的提交日期),并按月和年来划分。

  • 文件数:按日期划分,按扩展名名划分。

  • 行数:按日期划分。

git_stats 可以在 windows 和 linux 使用,但是集成方式有点不太一样,我目前尝试的是 win 版本的,在这里就先记录 win 版本的安装及使用,Linux 环境的后期需要可以再补充 gitstats 依赖 Git 、Python 以及 Gnuplot。

3、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/oapython gitstats.py I:/code/officeauto I:/code/testgit/oa
复制代码


  • 输出结果:



4、Gitstats 展示效果

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


1、代码仓库信息



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




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




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


5、总结

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

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


6、延伸阅读

《源码系列》

JDK之Object 类

JDK之BigDecimal 类

JDK之String 类

JDK之Lambda表达式


《经典书籍》

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

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

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


《服务端技术栈》

《Docker 核心设计理念

《Kafka史上最强原理总结》

《HTTP的前世今生》


《算法系列》

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

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

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

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

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

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


《设计模式》

设计模式之六大设计原则

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

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

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

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

发布于: 2021 年 01 月 20 日阅读数: 25
用户头像

Diligence is the mother of success. 2018.03.28 加入

公众号:后台技术汇 笔者主要从事Java后台开发,喜欢技术交流与分享,保持饥渴,一起进步!

评论

发布
暂无评论
简单五步:利用Gitstats给代码仓库做一次体检