閱讀全文需7分鐘,工具很實用。
1. 前言
對于Git項目開發,有一些可視化的工具,如gitk,giggle等,來檢視項目的開發曆史。但對于大型的項目,這些簡單的可視化工具遠遠不足以了解項目完整的開發曆史,一些定量的統計資料(如每日送出量,行數等)更能反映項目的開發程序和活躍性。今天給大家推薦的這款工具:GitStats,它能生成如下的一些統計資料,并且可以圖表形式進行展示對比。
2. 進一步了解Gitstats
進一步來講,Gitstats它是一個git倉庫分析軟體,它可以檢查倉庫并生成曆史資料的統計資訊。可以幫助你檢視git倉庫的送出狀态,根據不同次元分析計算,并自動生成資料圖表。
官網介紹:
http://gitstats.sourceforge.net/目前GitStats所生成統計資訊常用分為如下幾類:
- 正常的統計: 檔案總數,行數,送出量,作者數。
- 活躍性: 每天中每小時的、每周中每天的、每周中每小時的、每年中每月的、每年的送出量。
- 作者數: 列舉所有的作者(送出數,第一次送出日期,最近一次的送出日期),并按月和年來劃分。
- 檔案數:按日期劃分,按擴充名名劃分。
- 行數: 按日期劃分。
3. 指令行安裝
安裝使用非常簡單,如果是ubuntu,直接apt-get 即可,下面介紹幾款不同作業系統下的安裝方式。
Ubuntu:
apt-get install gitstats
CentOS:
yum install gitstats
Mac:
brew install --HEAD homebrew/head-only/gitstats
如果是Mac,那還得裝個gnuPlot,GitStats在Windows下使用時需要安裝有Python、Git,Gnuplot。
- Python:GitStats本身就是一個python腳本,windows下我們需要用python指令來運作GitStats。
- Git:這個不用解釋也知道是必須的。
- Gnuplot:Gnuplot一個指令行的互動式繪圖工具。
4. 源碼安裝及使用
打開gitbash或者其他git用戶端,輸入如下指令:
git clone git://github.com/hoxu/gitstats.git
下載下傳完成後,進入gitstats目錄,将gitstats拷貝為gitstats.py檔案
$ cp gitstats gitstats.py
然後執行統計指令
$ python gitstats.py ../xxx_pro/ ./test
../xxx_pro/ 為工程所在目錄。
./test 為結果檔案目錄。
完成後,進入test目錄,輕按兩下index.html檔案檢視統計結果。
5. 具體實操
為了便于讀者能直覺感受到,下面通過具體實操,帶大家來領略gitstats的作用,以Requests項目為例。
1、下載下傳克隆Requests源碼到本地。
git clone https://github.com/psf/requests.git
2、進入到gitstats目錄,并将gitstats拷貝為gitstats.py檔案,參考上述第4小節介紹。
cp gitstats gitstats.py
3、檢視gitstats目錄結構:
gitstats git:(master) tree -L 1
.
├── Makefile
├── arrow-down.gif
├── arrow-none.gif
├── arrow-up.gif
├── doc
├── gitstats
├── gitstats.css
├── gitstats.py
├── sortable.js
└── test
2 directories, 8 files
4、執行統計指令:
python gitstats.py ../requests ./test
5、統計執行結束後,在本地生成了test結果目錄,目錄生成的檔案結構如下所示。

打開index.html報告,如下圖所示。首先,在gitstats上提供了全局的統計資料報告,包括:
- 報告産生時間及産生所花費的時間:如花費了11秒
- 報告所覆寫的時間:如2011年02月14日至2019年11月23日
- 年齡:該repo的年紀,如“3206天,其中1400天是活躍天.”
- 檔案數及代碼:如:101個檔案,2萬5千行代碼。
- 作者數:如645,每個作者平均送出次數9.2次。
除此之外,還包括了:
1. 時間次元的效率分析:每天中每小時的、每周中每天的、每周中每小時的、每年中每月的、每年的送出量。
2. 送出者次元的活躍度統計:列舉所有的作者(送出數,第一次送出日期,最近一次的送出日期),并按月和年來劃分。
3. 按照檔案數:按日期劃分,按擴充名名劃分。
4. 根據送出行數或送出的tag來統計。
如果你是團隊上司,關心團隊的開發效率和工作激情;如果你是開源軟體開發者,維護者某個repo;又或者,你關心某個開源軟體或者目前開發團隊的進度,那麼你可以試一試gitstats。
點選可
檢視原文,希望這篇文章能幫到你!更多幹貨文章請關注我們。
原文發表于公衆号:【測試開發技術】,歡迎關注我我們!