git代碼統(tǒng)計工具git_stats

git_stats:倉庫代碼統(tǒng)計工具之一,可以按git提交人、提交次數(shù)、修改文件數(shù)、代碼行數(shù)、注釋量在時間維度上進行統(tǒng)計,亦可按各文件類型進行簡單的統(tǒng)計,非常方便.

雖然以代碼行數(shù)來衡量項目或者程序員并不是一件靠譜的事,但是從統(tǒng)計角度看趨勢對于技術(shù)管理人員還是很有幫助的!

git_stats可以在windows和linux使用,但是他們集成的方式有點不太一樣,同時如果有其他方式進行使用的,可以幫忙分享一下哦,要是不介意,有空集成進去,下面分別進行介紹

git_stats使用之linux

  1. 下載安裝ruby,需要安裝gcc
    進入官網(wǎng)http://www.ruby-lang.org/en/downloads/,根據(jù)自己的系統(tǒng)進行選擇下載即可,在這里我選擇的是2.5.1版本,
    linux的經(jīng)典步驟,

    ./configure --prefix=/usr/local/ruby

    make && make install,

    查看是否安裝成功:ruby -v,我的顯示就是ruby 2.5.1p57 (2018-03-29 revision 63029) [x86_64-linux],如果沒有顯示對應(yīng)的版本信息的話,需要設(shè)置環(huán)境變量,編輯如下

    vi /etc/profile,在最后面添加export PATH=$PATH:/usr/local/ruby/bin,保存退出即可,刷新資源source /etc/profile,再次執(zhí)行ruby -v,即可顯示對應(yīng)的版本信息

  2. 使用gem安裝git_stats

    gem install git_stats,可能按了enter,需要半天才會響應(yīng),如果嫌慢的話,可以重新設(shè)置個國內(nèi)的鏡像地址吧,具體的百度或者谷歌一下就好了,算了,還是說一個吧,哈哈,

    查看
    gem sources -l
    
    添加淘寶鏡像,并刪除原來的,確保只有一個
    gem sources --add https://ruby.taobao.org/ --remove https://rubygems.org/
    
    再次查看
    gem sources -l
    

    此處的gem是ruby里面的包管理工具,安裝的時候默認集成,好像是ruby1.9開始成為標(biāo)準庫的一部分,如果低于這個版本,需要手動安裝一下啦,具體的就百度或者谷歌一下了,此處就不介紹啦

    查看是否安裝成功git_stats,如果顯示一堆輸出就成功了,如下:

    Commands:
    git_stats generate        # Generates the statistics of a repository
    git_stats help [COMMAND]  # Describe available commands or one specific com...
    
  3. 生成文檔

    切換到你要統(tǒng)計的git倉庫根目錄,即git項目根目錄

    如果你沒有配置語言包,你也可以使用如下命令
    git_stats generate或者git_stats generate -o stats或者git_stats generate -o stats --language zh_tw,此時-o是指定生成的文件路徑,我就是生成在當(dāng)前目錄的stats文件夾下面的了,--language指定的是生成的語言,默認有zh_tw,de,en,es,pl,tr,如果不填寫默認是英語,自己可以切換到語言欄下面去查看并進行完善的,截圖如下:

git_stats generate 結(jié)果如下:


stats.png

git_stats generate -o stats --language zh_tw 結(jié)果如下:


stats_tw.png

當(dāng)然,你如果想要使用語言包的話,可以在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下面,然后切換到相應(yīng)的目錄,可以看到這個路徑下的文件結(jié)構(gòu)和github上非常相似。把github上config/locales下的文件復(fù)制粘貼到到本地config/locales路徑下,本地的git_stats就可以支持中文了。

  1. 展示數(shù)據(jù)

    我們知道數(shù)據(jù)展示一般離不開網(wǎng)頁,git_stats也是一樣,我們剛剛執(zhí)行生成的報告會以網(wǎng)頁形式生成到當(dāng)前路徑下的stats目錄中,如果本地有瀏覽器,就可以直接訪問index.html文件,如果沒有,此時我們可以搭建一個nginx服務(wù)器,使用nginx指向當(dāng)前目錄即可,然后輸入網(wǎng)址進行訪問就行了,我這里偷懶,弄了個桌面版的centos,所以上面的截圖就是直接點擊進去查看的啦,哈哈

git_stats使用之windows

windows的使用可能稍微比較麻煩一點點啦,這個時候需要安裝幾個工具,gitstats 依賴 Git 、Python 以及Gnuplot。以下是最新的依賴版本。

- Python (>= 2.6.0),在這個作為一個腳本進行執(zhí)行
- Git (>= 1.5.2.4),這個不用介紹了吧
- Gnuplot (>= 4.0.0),進行畫圖的工具
  1. 安裝python

    由于只支持Python2,可以到官網(wǎng)https://www.python.org/downloads/release/python-2713/進行下載,獲取python的win下的安裝包。此處安裝的是python 2.7.13

    安裝完以后需要配置環(huán)境變量,例如安裝在E:\Python27 ,則在環(huán)境變量path中增加E:\Python27.

    查看python安裝是否成功:使用win+r,輸入cmd,運行python --version,出現(xiàn)版本號,我的是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文件復(fù)制一份并命名或者直接重命名為gitstats.py

  3. 安裝Gnuplot

    可以到https://sourceforge.net/projects/gnuplot/files/gnuplot/5.0.6/, 下載5.0.6版本,選擇win版本下載即可。

    安裝完畢后,需要配置環(huán)境變量,

    1. 可以根據(jù)README-Windows.txt里描述,配置環(huán)境變量,配置到安裝目錄的bin下,例如E:\gnuplot\bin,同樣的,在環(huán)境變量path中增加.
    2. 也可以根據(jù)你的安裝目錄直接配置環(huán)境變量即可,例如直接將E:\gnuplot\bin添加到path中即可.

    查看是否安裝成功:使用win+r,輸入cmd,運行gnuplot,出現(xiàn)下面的輸出就是成功啦

    
        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'
    
  4. 生成文檔

    此時,我們切換到git項目根目錄下,右鍵選擇git bash here,使用的命令格式如:

    python [gitstats.py路徑] [git庫路徑(git項目根目錄)] [輸出結(jié)果路徑],我的命令就是下面這個

    python '/f/gitstats/gitstats.py' . stats,其中.表示當(dāng)前目錄,stats表示生成到當(dāng)前的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環(huán)境,此時我們可以找到git的安裝目錄,進入bin目錄,你會發(fā)現(xiàn)一個sh.exe,這個里面包含了wc命令,雙擊sh.exe,并使用命令行切換到你的git項目根目錄下面即可,然后再次執(zhí)行上面的命令,以及接下來的其他使用方式一樣,但是一般都沒有太大問題的

    當(dāng)然你也可以使用絕對命令,如下,就會在E:\IDEA PROJECT\study里面生成stats文件夾,并將報告生成到該目錄下

    python '/f/gitstats/gitstats.py' '/e/IDEA PROJECT/study' '/e/IDEA PROJECT/study/stats'

  5. 展示數(shù)據(jù)

    windows里面展示數(shù)據(jù)就比較方便了,只要你有瀏覽器,進入stats文件夾,點擊index.html即可在瀏覽器中進行展示數(shù)據(jù),當(dāng)然也可以切換成不同的tab進行查看

windows_stats.png

至于具體的使用方法嘛,就隨便點兩下就明白了,很簡單的.一般我能經(jīng)常用到的就是ActivityAuthors這兩個進行查看啦.

最后呢,跟往常一樣,如果有什么問題就聯(lián)系我吧,平時很少看,看到了就會盡力進行解答的.

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 用到的組件 1、通過CocoaPods安裝 2、第三方類庫安裝 3、第三方服務(wù) 友盟社會化分享組件 友盟用戶反饋 ...
    SunnyLeong閱讀 15,139評論 1 180
  • 圣誕節(jié)的時候,姚哲媛收到了一束玫瑰,躺在精致的緞帶盒子里,像套奢華的高級成衣等待臨幸。 這是她第一次收到花。 舍友...
    Ruisydogs閱讀 370評論 0 0
  • 文|吳少如 班規(guī)是規(guī)范和強化學(xué)生的行為與思想的最佳手段,所以,幾乎每個班主任都會在開學(xué)之初制定項目繁多、細致全面的...
    吳少如閱讀 825評論 0 6
  • 路邊的小磨坊 四面皆墻 小小的窗口里 投射出孤獨的 渴望 ???
    白鶴來翔閱讀 231評論 1 3

友情鏈接更多精彩內(nèi)容