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

阅读全文需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://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。

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

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

原文地址:https://www.cnblogs.com/jinjiangongzuoshi/p/11955958.html

时间: 2024-10-08 09:54:43

程序员实用工具,推荐一款代码统计神器GitStats的相关文章

程序员高效率工具推荐-不看后悔死你

一. Xshell Xftp 免费软件 Xshell 和 Xftp 都是 NetSarang 出品的优秀网络管理.安全传输工具.Xshell 是一个免费的安全终端仿真器,可以作为 SSH.TELNET 或 RLOGIN 的终端模拟,能够从 Windows 平台安全连接 Linux 服务器,Xftp 则是安全传输客户端,支持 FTP 和 SFTP 协议,两者都支持标签化的会话窗口.如果你的项目部署到Liunx下面,这样的工具你少不了的. 二. Axure RP Pro 这个做产品的用的比较多,但是

程序员编程利器:20款最好的免费的IDEs和编辑器

程序员编程利器:20款最好的免费的IDEs和编辑器 还没转眼明年可就大年三十了,忙的可真是晕头转了个向,看着亲朋好友们那让人欣羡的小肚腩,不禁感慨,岁月是一把猪饲料,绿了芭蕉,肥了那杨柳小蛮腰,可怜我“太挑食”,身为纯正的吃货却没有与吃货相称的体重(话说路飞的体重也和他的吃货属性不匹配啊喂!).趁着过年之际,各种红包层出不穷,什么微博红包.QQ红包.微信红包.支付宝红包等等等等,一个字:真俗!话说身为程序员最重要之一是什么?当然是开发环境和编辑器了.君不见一个好的IDE或者编辑器能带来的工作效率

优秀游戏程序员学习资料推荐

这两天给单位的技术做的一次学习材料推荐培训,直接ppt上拷过来的. 优秀游戏程序员学习资料推荐 主讲人:臧旭 前言 今天提到的纯粹是我个人心得和理解,可能片面,可能以偏概全. 目的是给大家做一定的指引作用,想让大家知道自己还有哪些可以去学习,还有哪些不足,我们距离优秀还有多远. 对我今天提到的东西,如果大家有时间,一定要去深入了解,在技术的道路上才有可能看得远.走得稳.飞得高. 另外有一句对所有技术人员想说的话: 学无止境.切忌坐井观天.有一点小小的成就就沾沾自喜.止足不前. 扎实的基础 万丈高

【常用软件】木木的常用软件点评(2)------VC程序员常用工具篇

摘自:http://blog.csdn.net/liquanhai/article/details/7215045 木木的常用软件点评(2)------VC程序员常用工具篇 分类: VC++经验总结2012-01-25 14:02 14091人阅读 评论(56) 收藏 举报 工具tortoisesvn文本编辑html加密 过年了,事情可以暂时放一下了.总结一下很有必要.又看到外面饭馆写着“岁末收工,初六开炉“了.好了,废话不多说,接着上篇继续评点程序员常用工具.当然还得请朋友们留言,好做继续的整

[原创译书] JS函数式编程 2.3 函数式程序员的工具集

?? Functional Programming in Javascript 主目录第二章 函数式编程基础上一节 与函数共舞 函数式程序员的工具集 如果你仔细看了到目前为止出现过的示例代码,你会发现这里面的一些方法不太熟悉. 它们是map().filter()和reduce()函数,它们对任何语言的函数式编程都至关重要. 它们可以让你不必使用循环和语句,写出更简洁的代码. map().filter()和reduce()函数组成了函数式程序员工具集的核心部分,这个工具集包括一系列纯的. 高阶的函

不要相信程序员在加班时间写的代码

不要相信一个程序员在加班时间写出来的代码. (软件工程的学说表明,连正常时间好好写的代码,也不要太相信.不过这不是本文的重点,略过不提.) (不懂代码的人,看到本文中的Java代码可以略过,不影响理解.) 创造力的时限 写代码,与写文章.绘画.思考复杂问题,并没有本质上的区别,都是创造性的活动. 每个人的创造力,都会随着身体状态而波动.广为人知的是,一个人年老体衰后,相比年富力强时,创造力会急剧下降.其实,人每天的状态起伏,也同样会剧烈影响这一点. 如果是拧螺丝,那么在精疲力尽.拧不动以前,身体

程序员读书目录推荐

程序员读书目录推荐  编程技术: 1.  设计模式: 1. <设计模式>:不过这本书太难懂了!★★★☆☆ 2. <大话设计模式>:★★★★☆ 3. <企业应用架构模式>:Martin Flower经典之作:★★★★★ 4. <Microsoft .NET 企业级应用架构模式>:Dino Esposito,  Andrea Saltarello  编著:★★★★★ 5. <实现模式>(特别推荐第3章<一种编程理论>):★★★★☆  技术

Java程序员常用工具类库

有人说当你开始学习Java的时候,你就走上了一条不归路,在Java世界里,包罗万象,从J2SE,J2ME,J2EE三大平台,到J2EE中的13中核心技术,再到Java世界中万紫千红的Framework......等等,你会发现自己总是在学习,但总是有自己不知道的东西. 当你看到代码工程的lib下各种各样的jar文件的时候,你是否能全部知道他们都是干什么用的,为什么要导入到工程下吗? 从Google你能搜索到大量的关于Struts,Spring,Hibernate,iBatis等比较大的框架的资料

程序员在线工具导航

在线GET和POST测试,websocket测试,api接口压力测试,端口扫描,sql/json美化,加密转换,时间戳转换,随机字符串,图片base64转码,在线代码运行 http://ouapi.com/ (ouapi-偶API)http://tool.chinaz.com/ (站长工具 - 站长之家)http://tool.oschina.net/ (在线工具 -- 开源中国社区)http://tools.jb51.net/ (脚本之家在线工具)http://tool.lu/ (在线工具 -