程序员实用工具,推荐一款代码统计神器GitStats

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

1. 前言

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

2. 进一步了解Gitstats

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

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

当前GitStats所生成统计信息经常使用分为以下几类:github

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

3. 命令行安装

安装使用很是简单,若是是ubuntu,直接apt-get 便可,下面介绍几款不一样操做系统下的安装方式。ubuntu

Ubuntu:windows

apt-get install gitstats

CentOS:bash

yum install gitstats

Mac:工具

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客户端,输入以下命令:

git clone git://github.com/hoxu/gitstats.git

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

$ cp gitstats gitstats.py

而后执行统计命令

$ python gitstats.py ../xxx_pro/ ./test

../xxx_pro/ 为工程所在目录。
./test 为结果文件目录。

完成后,进入test目录,双击index.html文件查看统计结果。

5. 具体实操

为了便于读者能直观感觉到,下面经过具体实操,带你们来领略gitstats的做用,以Requests项目为例。

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

git clone https://github.com/psf/requests.git

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

cp gitstats gitstats.py

三、查看gitstats目录结构:

➜  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

四、执行统计命令:

python gitstats.py ../requests ./test

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

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

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

image

除此以外,还包括了:

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

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

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

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

image

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

点击可查看原文,但愿这篇文章能帮到你!更多干货文章请关注咱们。

原文发表于公众号:【测试开发技术】,欢迎关注我咱们!

相关文章
相关标签/搜索