git_stats:仓库代码统计工具之一,可以按git提交人、提交次数、修改文件数、代码行数、注释量在时间维度上进行统计,亦可按各文件类型进行简单的统计,非常方便.
虽然以代码行数来衡量项目或者程序员并不是一件靠谱的事,但是从统计角度看趋势对于技术管理人员还是很有帮助的!
git_stats可以在windows和linux使用,但是他们集成的方式有点不太一样,同时如果有其他方式进行使用的,可以帮忙分享一下哦,要是不介意,有空集成进去,下面分别进行介绍
git_stats使用之linux
-
下载安装ruby,需要安装gcc
进入官网http://www.ruby-lang.org/en/downloads/,根据自己的系统进行选择下载即可,在这里我选择的是2.5.1版本,
linux的经典步骤,./configure --prefix=/usr/local/ruby
make && make install
,查看是否安装成功:
ruby -v
,我的显示就是ruby 2.5.1p57 (2018-03-29 revision 63029) [x86_64-linux]
,如果没有显示对应的版本信息的话,需要设置环境变量,编辑如下vi /etc/profile
,在最后面添加export PATH=$PATH:/usr/local/ruby/bin
,保存退出即可,刷新资源source /etc/profile
,再次执行ruby -v
,即可显示对应的版本信息 -
使用gem安装git_stats
gem install git_stats
,可能按了enter,需要半天才会响应,如果嫌慢的话,可以重新设置个国内的镜像地址吧,具体的百度或者谷歌一下就好了,算了,还是说一个吧,哈哈,查看 gem sources -l 添加淘宝镜像,并删除原来的,确保只有一个 gem sources --add https://ruby.taobao.org/ --remove https://rubygems.org/ 再次查看 gem sources -l
此处的gem是ruby里面的包管理工具,安装的时候默认集成,好像是
ruby1.9
开始成为标准库的一部分,如果低于这个版本,需要手动安装一下啦,具体的就百度或者谷歌一下了,此处就不介绍啦查看是否安装成功
git_stats
,如果显示一堆输出就成功了,如下:Commands: git_stats generate # Generates the statistics of a repository git_stats help [COMMAND] # Describe available commands or one specific com...
-
生成文档
切换到你要统计的git仓库根目录,即git项目根目录
如果你没有配置语言包,你也可以使用如下命令
git_stats generate
或者git_stats generate -o stats
或者git_stats generate -o stats --language zh_tw
,此时-o
是指定生成的文件路径,我就是生成在当前目录的stats文件夹下面的了,--language
指定的是生成的语言,默认有zh_tw,de,en,es,pl,tr
,如果不填写默认是英语,自己可以切换到语言栏下面去查看并进行完善的,截图如下:
git_stats generate 结果如下:
![](https://img.haomeiwen.com/i6799645/849ccfbd2d36c556.png)
git_stats generate -o stats --language zh_tw 结果如下:
![](https://img.haomeiwen.com/i6799645/96b2e6d4bbbbe2ee.png)
当然,你如果想要使用语言包的话,可以在git上面找一个语言包进行集成即可,推荐一个吧,https://github.com/tomgi/git_stats
,然后将中文的支持文件下载到本地,将文件包添加到本地的git_stats包里即可,
此时需要查找本地git_stats
包,使用find / -name 'git_stats'
即可,我的路径就在/usr/local/ruby/lib/ruby/gems/2.5.0/gems/git_stats-1.0.17/config
下面,然后切换到相应的目录,可以看到这个路径下的文件结构和github上非常相似。把github上config/locales下的文件复制粘贴到到本地config/locales路径下,本地的git_stats就可以支持中文了。
-
展示数据
我们知道数据展示一般离不开网页,git_stats也是一样,我们刚刚执行生成的报告会以网页形式生成到当前路径下的stats目录中,如果本地有浏览器,就可以直接访问index.html文件,如果没有,此时我们可以搭建一个nginx服务器,使用nginx指向当前目录即可,然后输入网址进行访问就行了,我这里偷懒,弄了个桌面版的centos,所以上面的截图就是直接点击进去查看的啦,哈哈
git_stats使用之windows
windows的使用可能稍微比较麻烦一点点啦,这个时候需要安装几个工具,gitstats 依赖 Git 、Python 以及Gnuplot。以下是最新的依赖版本。
- Python (>= 2.6.0),在这个作为一个脚本进行执行
- Git (>= 1.5.2.4),这个不用介绍了吧
- Gnuplot (>= 4.0.0),进行画图的工具
-
安装python
由于只支持Python2,可以到官网https://www.python.org/downloads/release/python-2713/进行下载,获取python的win下的安装包。此处安装的是
python 2.7.13
安装完以后需要配置环境变量,例如安装在E:\Python27 ,则在环境变量path中增加E:\Python27.
查看python安装是否成功:使用
win+r
,输入cmd
,运行python --version
,出现版本号,我的是Python 2.7.13
-
安装git_stats
可以从https://github.com/hoxu/gitstats下载gitstats ,或者用
git clone https://github.com/hoxu/gitstats.git
进行拉取,我的是放在f:\gitstats
目录下面的此时需要进入gitstats文件夹下面,将
gitstats
文件复制一份并命名或者直接重命名为gitstats.py
-
安装Gnuplot
可以到https://sourceforge.net/projects/gnuplot/files/gnuplot/5.0.6/, 下载5.0.6版本,选择win版本下载即可。
安装完毕后,需要配置环境变量,
- 可以根据README-Windows.txt里描述,配置环境变量,配置到安装目录的bin下,例如E:\gnuplot\bin,同样的,在环境变量path中增加.
- 也可以根据你的安装目录直接配置环境变量即可,例如直接将
E:\gnuplot\bin
添加到path中即可.
查看是否安装成功:使用
win+r
,输入cmd
,运行gnuplot
,出现下面的输出就是成功啦G N U P L O T Version 5.0 patchlevel 6 last modified 2017-03-18 Copyright (C) 1986-1993, 1998, 2004, 2007-2017 Thomas Williams, Colin Kelley and many others gnuplot home: http://www.gnuplot.info faq, bugs, etc: type "help FAQ" immediate help: type "help" (plot window: hit 'h') Terminal type set to 'wxt'
-
生成文档
此时,我们切换到git项目根目录下,右键选择
git bash here
,使用的命令格式如:python [gitstats.py路径] [git库路径(git项目根目录)] [输出结果路径],我的命令就是下面这个
python '/f/gitstats/gitstats.py' . stats
,其中.
表示当前目录,stats
表示生成到当前的stats目录里面.如果此时你的报错,信息如下BUG: environment.c:179: git environment hasn't been setup This application has requested the Runtime to terminate it in an unusual way. Please contact the application's support team for more information. fatal: Not a git repository (or any of the parent directories): .git fatal: Not a git repository (or any of the parent directories): .git [0.10900] >> gnuplot --version Output path: E:\IDEA PROJECT\study\stats1 Git path: E:/IDEA PROJECT/study Collecting data... [0.09300] >> git shortlog -s HEAD | wc -l [0.03200] >> git show-ref --tags [0.07800] >> git rev-list --pretty=format:"%at %ai %aN <%aE>" HEAD | grep -v ^commit Traceback (most recent call last): File "F:/gitstats/gitstats.py", line 1490, in <module> g.run(sys.argv[1:]) File "F:/gitstats/gitstats.py", line 1465, in run data.collect(gitpath) File "F:/gitstats/gitstats.py", line 338, in collect timezone = parts[3] IndexError: list index out of range
那么此时可能你没有配置好git环境,此时我们可以找到git的安装目录,进入
bin
目录,你会发现一个sh.exe
,这个里面包含了wc
命令,双击sh.exe
,并使用命令行切换到你的git项目根目录下面即可,然后再次执行上面的命令,以及接下来的其他使用方式一样,但是一般都没有太大问题的当然你也可以使用绝对命令,如下,就会在
E:\IDEA PROJECT\study
里面生成stats文件夹,并将报告生成到该目录下python '/f/gitstats/gitstats.py' '/e/IDEA PROJECT/study' '/e/IDEA PROJECT/study/stats'
-
展示数据
windows里面展示数据就比较方便了,只要你有浏览器,进入stats文件夹,点击
index.html
即可在浏览器中进行展示数据,当然也可以切换成不同的tab进行查看
![](https://img.haomeiwen.com/i6799645/13a152ee66a9685b.png)
至于具体的使用方法嘛,就随便点两下就明白了,很简单的.一般我能经常用到的就是Activity
和Authors
这两个进行查看啦.
最后呢,跟往常一样,如果有什么问题就联系我吧,平时很少看,看到了就会尽力进行解答的.
网友评论
提示 (reading log message from standard input),就一直停在这里,无法继续下一步。请问一下怎么解决?