git_stats安装及使用
git_stats是仓库代码统计工具,今天我们要求用git_stats工具做项目的代码统计,也是一步一坑的找到了一些方法,在这里记录一下
Window环境安装与使用
git_stats可以在windows和linux使用,但是集成方式有点不太一样,我目前尝试的是win版本的,在这里就先记录win版本的安装及使用,Linux环境的后期需要可以再补充
gitstats 依赖 Git 、Python 以及Gnuplot。
版本说明:
-python(>=2.6.0),在这里作为脚本进行执行
-Git( >= 1.5.2.4 ) 分布式版本控制系统
-Gnuplot ( >= 4.0.0 ) 进行画图的工具
1.安装python
1.1.下载及安装
由于只支持Python2,可以到官网https://www.python.org/downloads/release/python-2713/进行下载获取python的win下的安装包。
此处安装的是python 2.7.14
为什么最好是python2?
gitstats 是基于python2.x版本进行开发的一个开源的程序项目,所以需要安装python2.x版本的解释器,由于python的特殊性,gitstats中的某些代码在python3.x中不能运行。会出现语法错误。
如果有多个python版本时,如何操作?
将python的2.x版本的安装目录下的python.exe文件修改为python2.exe,以免多个python互相冲突; 在环境变量path中增加python2的文件路径
1.2配置环境变量
安装完以后需要配置环境变量,例如安装在D:\Python27 ,则在环境变量path中增加D:\Python27.
win10:此电脑-属性-高级系统设置-环境变量:找到path,添加上python本地的安装路径
1.3验证:
查看python安装是否成功:使用win+R,输入cmd,运行python -version,出现版本号,或输入python,显示版本号
我的是Python 2.7.14
2.安装git_stats
可以从https://github.com/hoxu/gitstats下载gitstats
下载完成后,需要进入gitstats文件夹下面,将gitstats
文件复制一份并命名或者直接重命名为gitstats.py
3.安装Gnuplot
3.1下载安装包
可以到https://sourceforge.net/projects/gnuplot/files/gnuplot/5.0.6/, 选择最新的win版本下载即可。
3.2配置环境变量
根据你的安装目录直接配置环境变量即可,例如直接将E:\gnuplot\bin
添加到path中即可.
win+r
,输入cmd
,运行gnuplot
,出现下面的输出就是成功啦 4.生成文档方法
方法1:
git bash here
,使用的命令格式python '/d/Program Files/gitstats-master/gitstats.py' . stats
,.
表示当前目录,stats
表示生成到当前的stats目录里面. 3.创建gitstats的输出文件夹
python gitstats.py “gitstats文档库路径” “输出文件夹路径
举例: python gitstats.py D:\Program Files\IDEA D:\results
或者直接在cmd下操作
python gitstats.py路径 ' gitstats文档库路径' '输出文件夹路径'
举例: python D:\Program Files\gitstats-master\gitstats.py D:\Program Files\IDEA D:\results
哪一种都可以,输入成功后点击回车
4.展示数据
windows里面展示数据就比较方便了,只要你有浏览器就可以
进入输出文件夹stats路径,点击index.html
,打开方式选择浏览器进行展示数据,即可获得项目的基本数据和commit提交记录的流图
当然也可以切换成不同的tab进行查看
至于具体的使用方法,随便点两下就明白了,这里就先不多说了.一般我经常用到的就是Activity
和Authors
这两个.
遇到的问题:
问题1:wc不是内部命令
原因:经查找发现是git\usr\bin下的可执行文件没有被加入全局变量,导致文件在编译的过程中,没能识别出wc程序,
解决:找到git目录下的usr下的bin目录,放到环境变量path中
问题2:刚刚只解决了wc的问题,git不是内部命令 的问题也不能忽视
解决方法:①找到安装git的位置,然后在该目录的子目录下分别找到git-core、bin 两个目录,我的安装在了D盘,所以两个目录分别是:如图
此次只遇到的是这两个问题,配置了环境变量后,关闭黑窗口,再次按上面步骤操作,执行成功
问题3:这个问题是其他同事遇到的,也在这里记录一下,
是因为在之前使用Git bash的时候,不需要把Git bash 的可执行文件加入path的环境变量
git_stats安装及使用的更多相关文章
- 使用git_stats 统计分析git 仓库代码&& 集成webhook
前几天写过一个使用gitstats 统计分析代码的,但是那个因为开发的问题,对于直接和容器集成是有问题的,统计需要进入容器执行 命令,对于自动构建的还不是很方便,所以使用了git_stats 项目 ...
- 代码图形统计工具git_stats web
目录 一.简介 二.安装ruby 三.配置git_stats 四.通过nginx把网页展示出来 一.简介 仓库代码统计工具之一,可以按git提交人.提交次数.修改文件数.代码行数.注释量在时间维度上进 ...
- docker——容器安装tomcat
写在前面: 继续docker的学习,学习了docker的基本常用命令之后,我在docker上安装jdk,tomcat两个基本的java web工具,这里对操作流程记录一下. 软件准备: 1.jdk-7 ...
- 网络原因导致 npm 软件包 node-sass / gulp-sass 安装失败的处理办法
如果你正在构建一个基于 gulp 的前端自动化开发环境,那么极有可能会用到 gulp-sass ,由于网络原因你可能会安装失败,因为安装过程中部分细节会到亚马逊云服务器上获取文件.本文主要讨论在不变更 ...
- Sublime Text3安装JsHint
介绍 Sublime Text3使用jshint依赖Nodejs,SublimeLinter和Sublimelinter-jshint. NodeJs的安装省略. 安装SublimeLinter Su ...
- Fabio 安装和简单使用
Fabio(Go 语言):https://github.com/eBay/fabio Fabio 是一个快速.现代.zero-conf 负载均衡 HTTP(S) 路由器,用于部署 Consul 管理的 ...
- gentoo 安装
加载完光驱后 1进行ping命令查看网络是否通畅 2设置硬盘的标识为GPT(主要用于64位且启动模式为UEFI,还有一个是MBR,主要用于32位且启动模式为bois) parted -a optima ...
- Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part3:db安装和升级
Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part3:db安装和升级 环境:OEL 5.7 + Oracle 10.2.0.5 RAC 5.安装Database软件 5. ...
- Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part1:准备工作
Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part1:准备工作 环境:OEL 5.7 + Oracle 10.2.0.5 RAC 1.实施前准备工作 1.1 服务器安装操 ...
随机推荐
- python算法与数据结构-栈(43)
一.栈的介绍 栈作为一种数据结构,是一种只能在一端进行插入和删除操作.它按照先进后出的原则存储数据,先进入的数据被压入栈底,最后的数据在栈顶,需要读数据的时候从栈顶开始弹出数据(最后一个数据被第一个读 ...
- K8s集群部署(四)------ Flannel网络部署
所有节点都要部署Flannel网络,在所有节点操作. 1.为Flannel生成证书 [root@k8s-master ssl]# pwd /usr/local/src/ssl [root@k8s-ma ...
- CSS3之响应式布局及其应用
使用 Media 属性前需添加兼容移动设备优先代码 <meta name=”viewport”content=”width=device-width,initial-scale=1.0,maxi ...
- 如何配置selinux
参考命令: 一.开启/关闭selinux getenforce:查看selinux运行状态 setenforce 0 :关闭selinux setenforce 1 :开启selinux 系统 ...
- JavaScript 之有趣的函数(函数声明、调用、预解析、作用域)
前言:“函数是对象,函数名是指针.”,函数名仅仅是指向函数的指针,与其他包含函数指针的变量没有什么区别,话句话说,一个函数可能有多个名字. -1.函数声明,function+函数名称.调用方法:函数名 ...
- 面试中常见的算法之Java中的递归
1.方法定义中调用方法本身的现象2.递归注意实现 1) 要有出口,否则就是死递归 2) 次数不能太多,否则就内存溢出 3) 构造方法不能递归使用3.递归解决问题的思想和图解: 分解和合并[先分解后合并 ...
- ZOJ 3963:Heap Partition(贪心+set+并查集)
http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3963 题意:给出一个n个数的序列,可以在其中找一个子序列建堆,并且堆中的父 ...
- Intent对象(组件间的通信原理)
Intent对象是一种可以在运行时动态绑定组件的关键技术,通过使用Intent对象,可以告诉系统你想要实现什么样的操作,也就是Intent对象里面包含的请求内容,请求再由Android操作系统接收到, ...
- 你不得不知的几个互联网ID生成器方案
服务化.分布式已成为当下系统开发的首选,高并发操作在数据存储时,需要一套id生成器服务,来保证分布式情况下全局唯一性,以确保系统的订单创建.交易支付等场景下数据的唯一性,否则将造成不可估量的损失. 基 ...
- wincc C脚本如何调用第三方动态链接库dll
就Wincc本身脚本功能而言并不强大,但是wincc 脚本提供了第三方接口,如通用的Kernel32.dll,User32.dll,Gdi32.dll,大家如果对这些API接口感兴趣,可网上查找关于w ...