阅读全文需7分钟,工具很实用。
1. 前言
对于Git项目开发,有一些可视化的工具,如gitk,giggle等,来查看项目的开发历史。但对于大型的项目,这些简单的可视化工具远远不足以了解项目完整的开发历史,一些定量的统计数据(如每日提交量,行数等)更能反映项目的开发进程和活跃性。今天给大家推荐的这款工具:GitStats,它能生成如下的一些统计数据,并且可以图表形式进行展示对比。
2. 进一步了解Gitstats
进一步来讲,Gitstats它是一个git仓库分析软件,它可以检查仓库并生成历史数据的统计信息。可以帮助你查看git仓库的提交状态,根据不同维度分析计算,并自动生成数据图表。
官网介绍:http://gitstats.sourceforge.net/
当前GitStats所生成统计信息常用分为如下几类:
- 常规的统计:文件总数,行数,提交量,作者数。
- 活跃性:每天中每小时的、每周中每天的、每周中每小时的、每年中每月的、每年的提交量。
- 作者数:列举所有的作者(提交数,第一次提交日期,最近一次的提交日期),并按月和年来划分。
- 文件数:按日期划分,按扩展名名划分。
- 行数:按日期划分。
3. 命令行安装
安装使用非常简单,如果是ubuntu,直接apt-get 即可,下面介绍几款不同操作系统下的安装方式。
Ubuntu:
apt-get install gitstats
CentOS:
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://http://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项目为例。
1、下载克隆Requests源码到本地。
git clone https://github.com/psf/requests.git
2、进入到gitstats目录,并将gitstats拷贝为gitstats.py文件,参考上述第4小节介绍。
cp gitstats gitstats.py
3、查看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
4、执行统计命令:
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。
以下下是亲手打造的python学习路线和视频。共分为7大阶段.
获取方式:转发此文+关注 并 私信小编 “ 学习 ”,即可免费获取!
现在免费分享给大家哦!
- 设计模式及异常处理
- 坦克大战
- 核心编程
- jquery动画特效
- Ajax异步网络请求
- Django-博客项目
- Django-商城项目
- 正则表达式
- Python爬虫基础
- Python爬虫Scrapy框架
第一阶段、python开发基础和核心特性
1.变量及运算符
2.分支及循环
3.循环及字符串
4.列表及嵌套列表
5.字典及项目练习
6.函数的使用
7.递归及文件处理
8.文件
9.面向对象
10.设计模式及异常处理
11.异常及模块的使用
12.坦克大战
13.核心编程
14.高级特性
15.内存管理
第二阶段、数据库和linux基础
1.并发编程
2.网络通信
3.MySQL
4.Linux
5.正则表达式
第三阶段、web前端开发基础
1.html基本标签
2.css样式
3.css浮动和定位
4.js基础
5.js对象和函数
6.js定时器和DOM
7.js事件响应
8.使用jquery
9.jquery动画特效
10.Ajax异步网络请求
第四阶段、Python Web框架阶段
1.Django-Git版本控制
2.Django-博客项目
3.Django-商城项目
4.Django模型层
5.Django入门
6.Django模板层
7.Django视图层
8.Tornado框架
第五阶段、Python 爬虫实战开发
1.Python爬虫基础
2.Python爬虫Scrapy框架
以上这python自学教程小编已经为大家打包准备好了,希望对正在学习的你有所帮助!
获取方式:转发此文+关注 并 私信小编 “ 学习 ”,即可免费获取!
希望这篇文章能帮到你!更多干货文章请关注我们。