1. 程式人生 > >Git 統計提交代碼行數

Git 統計提交代碼行數

-a 模塊 num code name auth echo 底層 awk

指定用戶名

git log --author="your_name_here" --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 }


統計每個人

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

這裏的 added lines 是指增加的行數

這裏的 removed lines 是指移除的行數

這裏的 total lines 是指合計

由於 Git 對於大的二進制對象文件支持得不好,二進制大對象與大文本文件是不同的。

Git 對於不透明的二進制文件起不了多大作用,只能把它當作一個大的實體黑盒來提交。所以是不會計入行數的。

又由於 git 的機制是基於文本文件行來記錄的,比如我們平常修改一行代碼就是 一加 一減。

這個時候,合計就可以體現出有多少行代碼是你真的 “新建” 的。

關於我在這公司的一年,重構了好幾個小模塊,也開發了一些小模塊。

下面是合計的值:

技術分享圖片

emmmm

技術分享圖片

居然有四十多萬行。

Leader 平常只負責架構底層和緊急救火,居然寫了 51 萬行代碼。

下一次提加薪就靠這個了。

Git 統計提交代碼行數