git代码统计工具git_stats

git_stats:仓库代码统计工具之一,可以按git提交人、提交次数、修改文件数、代码行数、注释量在时间维度上进行统计,亦可按各文件类型进行简单的统计,非常方便.

虽然以代码行数来衡量项目或者程序员并不是一件靠谱的事,但是从统计角度看趋势对于技术管理人员还是很有帮助的!

git_stats可以在windows和linux使用,但是他们集成的方式有点不太一样,同时如果有其他方式进行使用的,可以帮忙分享一下哦,要是不介意,有空集成进去,下面分别进行介绍

git_stats使用之linux

  1. 下载安装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,即可显示对应的版本信息

  2. 使用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 结果如下:


    stats.png

    git_stats generate -o stats --language zh_tw 结果如下:


    stats_tw.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就可以支持中文了。

    1. 展示数据

      我们知道数据展示一般离不开网页,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),进行画图的工具
    
    1. 安装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

    2. 安装git_stats

      可以从https://github.com/hoxu/gitstats下载gitstats ,或者用git clone https://github.com/hoxu/gitstats.git进行拉取,我的是放在f:\gitstats目录下面的

      此时需要进入gitstats文件夹下面,将gitstats文件复制一份并命名或者直接重命名为gitstats.py

    3. 安装Gnuplot

      可以到https://sourceforge.net/projects/gnuplot/files/gnuplot/5.0.6/, 下载5.0.6版本,选择win版本下载即可。

      安装完毕后,需要配置环境变量,

      1. 可以根据README-Windows.txt里描述,配置环境变量,配置到安装目录的bin下,例如E:\gnuplot\bin,同样的,在环境变量path中增加.
      2. 也可以根据你的安装目录直接配置环境变量即可,例如直接将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:   <span class="hljs-built_in">type</span> <span class="hljs-string">"help FAQ"</span>
      immediate <span class="hljs-built_in">help</span>:   <span class="hljs-built_in">type</span> <span class="hljs-string">"help"</span>  (plot window: hit <span class="hljs-string">'h'</span>)
      
      Terminal <span class="hljs-built_in">type</span> <span class="hljs-built_in">set</span> to <span class="hljs-string">'wxt'</span>
      

  • 生成文档

    此时,我们切换到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进行查看

  • windows_stats.png

    至于具体的使用方法嘛,就随便点两下就明白了,很简单的.一般我能经常用到的就是ActivityAuthors这两个进行查看啦.

    最后呢,跟往常一样,如果有什么问题就联系我吧,平时很少看,看到了就会尽力进行解答的.

          </div>
        </div>
    

    猜你喜欢

    转载自blog.csdn.net/THINK_OF_/article/details/85045414