前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >研发实用工具,推荐一款代码统计神器GitStats

研发实用工具,推荐一款代码统计神器GitStats

作者头像
测试开发技术
发布2020-01-17 17:40:47
3.3K0
发布2020-01-17 17:40:47
举报
文章被收录于专栏:测试开发技术测试开发技术

阅读全文需7分钟,工具很实用。

1. 前言

对于Git项目开发,有一些可视化的工具,如gitk,giggle等,来查看项目的开发历史。但对于大型的项目,这些简单的可视化工具远远不足以了解项目完整的开发历史,一些定量的统计数据(如每日提交量,行数等)更能反映项目的开发进程和活跃性。今天给大家推荐的这款工具:GitStats,它能生成如下的一些统计数据,并且可以图表形式进行展示对比。

2. 进一步了解Gitstats

进一步来讲,Gitstats它是一个git仓库分析软件,它可以检查仓库并生成历史数据的统计信息。可以帮助你查看git仓库的提交状态,根据不同维度分析计算,并自动生成数据图表。

官网介绍:http://gitstats.sourceforge.net/

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

  • 常规的统计:文件总数,行数,提交量,作者数。
  • 活跃性:每天中每小时的、每周中每天的、每周中每小时的、每年中每月的、每年的提交量。
  • 作者数:列举所有的作者(提交数,第一次提交日期,最近一次的提交日期),并按月和年来划分。
  • 文件数:按日期划分,按扩展名名划分。
  • 行数:按日期划分。

3. 命令行安装

安装使用非常简单,如果是ubuntu,直接apt-get 即可,下面介绍几款不同操作系统下的安装方式。

Ubuntu:

代码语言:javascript
复制
apt-get install gitstats

CentOS:

代码语言:javascript
复制
yum install gitstats

Mac:

代码语言:javascript
复制
brew install --HEAD homebrew/head-only/gitstats

如果是Mac,那还得装个gnuPlot,GitStats在Windows下使用时需要安装有Python、Git,Gnuplot。

  • Python:GitStats本身就是一个python脚本,windows下我们需要用python命令来运行GitStats。
  • Git:这个不用解释也知道是必须的。
  • Gnuplot:Gnuplot一个命令行的交互式绘图工具。

4. 源码安装及使用

打开gitbash或者其他git客户端,输入如下命令:

代码语言:javascript
复制
git clone git://github.com/hoxu/gitstats.git

下载完成后,进入gitstats目录,将gitstats拷贝为gitstats.py文件

代码语言:javascript
复制
$ cp gitstats gitstats.py

然后执行统计命令

代码语言:javascript
复制
$ python gitstats.py ../xxx_pro/ ./test
  • ../xxx_pro/ 为工程所在目录。
  • ./test 为结果文件目录。
  • 完成后,进入test目录,双击index.html文件查看统计结果。

5. 具体实操

为了便于读者能直观感受到,下面通过具体实操,带大家来领略gitstats的作用,以Requests项目为例。

1、下载克隆Requests源码到本地。

代码语言:javascript
复制
git clone https://github.com/psf/requests.git

2、进入到gitstats目录,并将gitstats拷贝为gitstats.py文件,参考上述第4小节介绍。

代码语言:javascript
复制
cp gitstats gitstats.py

3、查看gitstats目录结构:

代码语言:javascript
复制
➜  gitstats git:(master) ✗ tree -L 1
.
├── Makefile
├── arrow-down.gif
├── arrow-none.gif
├── arrow-up.gif
├── doc
├── gitstats
├── gitstats.css
├── gitstats.py
├── sortable.js
└── test

2 directories, 8 files

4、执行统计命令:

代码语言:javascript
复制
python gitstats.py ../requests ./test

5、统计执行结束后,在本地生成了test结果目录,目录生成的文件结构如下所示。

打开index.html报告,如下图所示。首先,在gitstats上提供了全局的统计数据报告,包括:

  • 报告产生时间及产生所花费的时间:如花费了11秒
  • 报告所覆盖的时间:如2011年02月14日至2019年11月23日
  • 年龄:该repo的年纪,如“3206天,其中1400天是活跃天.”
  • 文件数及代码:如:101个文件,2万5千行代码。
  • 作者数:如645,每个作者平均提交次数9.2次。

除此之外,还包括了:

1. 时间维度的效率分析:每天中每小时的、每周中每天的、每周中每小时的、每年中每月的、每年的提交量。

2. 提交者维度的活跃度统计:列举所有的作者(提交数,第一次提交日期,最近一次的提交日期),并按月和年来划分。

3. 按照文件数:按日期划分,按扩展名名划分。

4. 根据提交行数或提交的tag来统计。

如果你是团队领导,关心团队的开发效率和工作激情;如果你是开源软件开发者,维护者某个repo;又或者,你关心某个开源软件或者当前开发团队的进度,那么你可以试一试gitstats。

希望这篇文章能帮到你!更多干货文章请关注我们。

最后,公号「测试开发技术」后台回复hi, 免费领取全栈工程师进阶高清图谱。

所有原创文章

第一时间发布至此公众号「测试开发技术」

长按二维码/微信扫码 关注

关注后,回复「me」试试

推荐阅读

点击阅读☞ 推荐一款Diffy:Twitter的开源自动化测试工具

点击阅读☞ 从「外包测试」做到「测试架构师」的10年转型路

点击阅读☞ 推荐一款简单易用线上引流测试工具:GoReplay

点击阅读☞ 月薪30K+,高薪?一文搞懂什么是测试开发!

点击阅读☞ 性能专题:性能测试实施全过程指南

点击阅读☞ 性能专题:一文搞懂性能测试常见指标

点击阅读☞ 你所需要掌握的问题排查知识

点击阅读☞ RobotFrameWork编写接口测试及如何断言

点击阅读☞ RobotFrameWork接口项目分层及通用控制方式

欢迎交流

若对测试开发技术感兴趣或者想进阶提高测试开发技术体系的,欢迎加Q群交流:50316345,或扫描添加作者微信进行咨询:jinjian_762357658

请把这个公众号推荐给你的朋友

关注后置顶公众号设为星标

再也不用担心收不到干货文章了

如果你喜欢这篇文章

欢迎点个在看,分享转发到朋友圈

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-11-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 测试开发技术 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. 前言
  • 2. 进一步了解Gitstats
  • 4. 源码安装及使用
  • 5. 具体实操
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档