git_stats:倉庫代碼統(tǒng)計工具之一,可以按git提交人、提交次數(shù)、修改文件數(shù)、代碼行數(shù)、注釋量在時間維度上進行統(tǒng)計,亦可按各文件類型進行簡單的統(tǒng)計,非常方便.
雖然以代碼行數(shù)來衡量項目或者程序員并不是一件靠譜的事,但是從統(tǒng)計角度看趨勢對于技術(shù)管理人員還是很有幫助的!
git_stats可以在windows和linux使用,但是他們集成的方式有點不太一樣,同時如果有其他方式進行使用的,可以幫忙分享一下哦,要是不介意,有空集成進去,下面分別進行介紹
git_stats使用之linux
-
下載安裝ruby,需要安裝gcc
進入官網(wǎng)http://www.ruby-lang.org/en/downloads/,根據(jù)自己的系統(tǒng)進行選擇下載即可,在這里我選擇的是2.5.1版本,
linux的經(jīng)典步驟,./configure --prefix=/usr/local/rubymake && 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)的版本信息 -
使用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... -
生成文檔
切換到你要統(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é)果如下:

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

當(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就可以支持中文了。
-
展示數(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),進行畫圖的工具
-
安裝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 -
安裝git_stats
可以從https://github.com/hoxu/gitstats下載gitstats ,或者用
git clone https://github.com/hoxu/gitstats.git進行拉取,我的是放在f:\gitstats目錄下面的此時需要進入gitstats文件夾下面,將
gitstats文件復(fù)制一份并命名或者直接重命名為gitstats.py -
安裝Gnuplot
可以到https://sourceforge.net/projects/gnuplot/files/gnuplot/5.0.6/, 下載5.0.6版本,選擇win版本下載即可。
安裝完畢后,需要配置環(huán)境變量,
- 可以根據(jù)README-Windows.txt里描述,配置環(huán)境變量,配置到安裝目錄的bin下,例如E:\gnuplot\bin,同樣的,在環(huán)境變量path中增加.
- 也可以根據(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' -
生成文檔
此時,我們切換到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' -
展示數(shù)據(jù)
windows里面展示數(shù)據(jù)就比較方便了,只要你有瀏覽器,進入stats文件夾,點擊
index.html即可在瀏覽器中進行展示數(shù)據(jù),當(dāng)然也可以切換成不同的tab進行查看

至于具體的使用方法嘛,就隨便點兩下就明白了,很簡單的.一般我能經(jīng)常用到的就是Activity和Authors這兩個進行查看啦.
最后呢,跟往常一樣,如果有什么問題就聯(lián)系我吧,平時很少看,看到了就會盡力進行解答的.