前言
环境:python3.6
python-gitlab
1 | # requirements |
文档:
生成访问秘钥:
只有用这里生成的token才可以通过api访问gitlab 在gitlab的用户设置菜单里面生成token
我的token:
ho_XcxK1tWshbMwsrNxg
gitlab页面查看提交次数信息
选中项目,Repository — Contributors 就可以选择查看提交次数了。但是除了用于查看比较提交次数貌似没有其他实际意义。所以就利用gitlab提供的gitlab API进行编码获取。
利用Gitlab API统计提交详细信息
1 | # coding=utf-8 |
利用git代码统计工具git_stats统计
Ubuntu安装ruby(不建议)
尽量使用下面的【linux的经典步骤安装ruby】,不建议使用apt-get的安装方式,后面会无限踩坑
这里安装的版本比较低,不支持后面的操作,后面有附上升级的方法,但是自己实操过后, 遇到问题
ERROR: Failed to build gem native extension.
一直没有办法解决,安装ruby-dev
也不行,可能是高版本不能通过安装这个处理,或者是重装卸载了什么必须要的包。总之,我这里最后是通过Linux的经典安装步骤安装的。
1 | # 查看是否安装ruby ( 安装了会提示版本信息,否则提示安装。) |
如果版本显示小于2.5
, 则需要升级ruby,否则报错nokogiri requires Ruby version < 3.1.dev, >= 2.5.
添加 PPA 源:
1
2add-apt-repository ppa:brightbox/ruby-ng
apt-get update删除旧版本:
千万不要使用网上的一些什么
sudo apt-get purge --auto-remove ruby
,auto-remove
并不智能,可能会删除一些系统文件之类的导致系统彻底完蛋。1
apt-get purge ruby
安装新版本:(我这里要2.6版本,可以自定义)
1
apt-get install ruby2.6
安装后查看版本号:
1
ruby -v
linux的经典步骤安装ruby
进入官网http://www.ruby-lang.org/en/downloads/, 根据自己的系统进行选择下载(我这里下载了ruby 2.6)。
解压下载的安装包,切换到解压后的安装包目录,执行:
1 | # 切换到root用户,之后就不用一直sudo |
意外情况处理:我这里遇到一个问题就是一开始ruby -v
还是之前apt-get
安装的2.3版本,但是执行sudo apt-get purge ruby
又显示软件未安装。这里我直接暴力解决。which ruby
从环境变量中找到ruby
的位置,然后手动删除掉它 , rm -f /usr/bin/ruby
.
使用gem安装git_stats
安装git_stats之前,先把gem的源替换成国内源,防止后面安装速度慢或者失败的问题
1 | # 查看源 |
安装
1 | sudo gem install git_stats |
安装这里我一开始使用ubuntu切换源安装的,报错:
ERROR: Failed to build gem native extension.
解决:
sudo apt-get install ruby-dev
(奇怪的是貌似官方源下载的可以用这个解决,但是PPA源这个就解决不了了。但是官方源版本太低,所以还是推荐linux经典步骤安装)
不行的话可以检查下这几个是否有安装:
sudo apt-get install ruby ruby-dev gcc zlib1g-dev make
生成文档
切换到你要统计的git仓库根目录,即git项目根目录
生成文档命令
1
2
3# -o 指定生成文件路径
# --language 指定生成的语言,有zh_tw,de,en,es,pl,tr几个选择,默认是英语
git_stats generate -o ./document --language zh_tw配置语言包支持中文
需要查找本地
git_stats
包位置,默认安装情况下在在
/usr/local/lib/ruby/gems/2.6.0/gems/git_stats-1.0.17
也可以用命令搜索
sudo find / -name 'git_stats'
包位置下的
config/locale
就是语言包文件了,把github
上config/locales
下的文件复制粘贴到到本地config/locales
路径下,本地的git_stats
就可以支持中文了。
执行命令后的报告文档在
-o
指定的位置, 切换到该位置,打开index.html
即可查看报告。
利用git代码统计工具GitStats统计
这里我试了是可以的,所以直接放原文内容:https://www.jianshu.com/p/eff9e8311035
但是不得不说,界面和功能都比
git_stats
差很多。
GitStats为一个用于生成git仓库统计信息的工具。它检查仓库并生成历史数据的统计信息。当前仅输出HTML格式的统计信息。
功能描述
当前GitStats所生成统计信息分为如下几类:
- 通用统计:总的文件数、行数、提交数、创建人数;
- 活动统计:按一天中的每个小时统计、按一周中的明天统计、按一星期中的每小时统计、按一年中的每月统计、按年和月统计、按年统计;
- 创建人统计:统计创建人信息,包括首次提交日期、最后提交日期等,按月统计提交人信息、按年统计提交人信息;
- 文件统计:按日期和扩展统计文件;
- 行数统计:按日期统计文件行数;
安装及使用
在Ubuntu下安装GitStats只需要执行如下命令即可:
1 | aptitude install gitstats |
使用GitStats的方法更简单:
1 | gitstats repo gen |
其中repo
为仓库目录,gen
为事先创建好的用于存储生成的HTML
文档的目录。然后在gen
目录下执行如下代码:
1 | python -m SimpleHTTPServer 8080 |
既可以通过http://localhost:8080
查看到生成的页面。
示例
官网给出的示例如下所示:
参考文献
本文链接: http://www.ionluo.cn/blog/posts/eafa4ec2.html
版权声明: 本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。转载请注明出处!