1. 程式人生 > >Git庫程式碼統計(命令列統計)

Git庫程式碼統計(命令列統計)

1、檢視兩個版本之間的檔案及程式碼量差異

有效程式碼更多是指:純新增的程式碼和修改的程式碼,純刪除的程式碼可忽略不計。

實際有效程式碼行數 = 程式碼add的行數

git diff --stat v3.2.2 v3.3.0 (按tag號)

git diff –stat commit1 commit2  (按commit號)

gitdiff --stat 2483c1b4b9e10265bf01608d1e2e56ba508a7721  977b917a0f60b6cf7a6d402f5c53d71c1b4e0eb1

結果:

 .../com/shengpay/fgs/common/enums/ErrorCode.java   |   1 -

 .../META-INF/spring/spring-fgs-integration.xml     |  2 +-

 .../processor/MerchantOpenBatchFileProcessor.java  |   7 -

 .../service/impl/BatchOpenAccountServiceImpl.java  |   2 +-

 .../WEB-INF/templates/register/agent_register.vm   |  10 +-

 .../register/certificate_input_info_company.vm     | 197 ++++++++++-----------

 .../register/certificate_input_info_merchant.vm    | 197 ++++++++++-----------

 .../register/certificate_input_info_person.vm      | 24 +--

 8files changed, 199 insertions(+), 241 deletions(-)

2、指定使用者名稱\ 指定時間段內程式碼量差異

gitlog --since==2018-3-11 --until==2018-3-12 --author="liulei05"--pretty=tformat: --numstat | awk '{ add += $1; subs += $2; loc += $1 - $2 }END { printf "added lines: %s, removed lines: %s, total lines: %s\n",add, subs, loc }'

結果:

addedlines: 3119, removed lines: 2639, total lines: 480

說明

 --since, --after 僅顯示指定時間之後的提交。                   
 --until, --before 僅顯示指定時間之前的提交。                  
 --author 僅顯示指定作者相關的提交。    

gitlog --since==2018-3-11 --until==2018-6-12 --pretty=tformat: --numstat | awk '{add += $1; subs += $2; loc += $1 - $2 } END { printf "added lines: %s,removed lines: %s, total lines: %s\n", add, subs, loc }'

3、按人員統計增刪行數

git log --format='%aN' | sort -u | while read name; do echo -en "$name\t"; git log --author="$name" --pretty=tformat: --numstat | awk '{ add += $1; subs += $2; loc += $1 - $2 } END { printf "added lines: %s, removed lines: %s, total lines: %s\n", add, subs, loc }' -; done