誰かのコード送信をカウントするgit

追加や削除など、誰かのコード送信をカウントします。

git log --author="$(git config --get user.name)" --pretty=tformat: --numstat | gawk '{ add += $1 ; subs += $2 ; loc += $1 - $2 } END { printf "added lines: %s removed lines : %s total lines: %s\n",add,subs,loc }' 

上位5つのウェアハウスサブミッター(すべてを見る場合は、ヘッドパイプラインを削除するだけです)(追加できる場合は、次の添付パラメーターを参照してください-詳細については、以下を参照してください)。

git log --pretty='%aN' | sort | uniq -c | sort -k1 -n -r | head -n 5

トップ5のウェアハウス送信者(メールボックス):多くの人が異なるメールボックスを持っているため、この統計はあまり正確ではないかもしれませんが、同じ名前を使用します

git log --pretty=format:%ae | gawk -- '{ ++c[$0]; } END { for(cc in c) printf "%5d %s\n",c[cc],cc; }' | sort -u -n -r | head -n 5 

コントリビューター統計:

git log --pretty='%aN' | sort -u | wc -l

提出物の統計:

git log --oneline | wc -l 

追加または変更されたコードの行数:

git log --stat|perl -ne 'END { print $c } $c += $1 if /(\d+) insertions/;

git logパラメーターの説明:
-authorは作成者を指定します
--statは各更新のファイル変更統計を表示し、特定のファイルリストを一覧表示します
--shortstatは追加、削除を含む各コミットのファイル変更行の数をカウントしますが、リストファイルリストを出力します。  
-numstatは、追加、削除を含む各コミットのファイル変更行数をカウントし、ファイルリストをリストします。
 
   
-pオプションは展開して各送信のコンテンツの違いを表示し、-2は最新の2つの更新
       例:git log -p -2
--name-only情報を送信した後、変更されたファイルのリストのみを表示します
--name-statusは、新規、変更、および削除されたファイルのリストを表示します
--abbrev-commit only SHA-1を表示します
。--relative-dateの最初の数文字は、40文字すべてではなく、より短い相対時間表示を使用します(たとえば、「2週間前」)
。-graphは、分岐およびマージ履歴のASCIIグラフ表現を表示します。
--prettyは他のものを使用しますフォーマットは過去の提出情報を表示します。使用可能なオプションには、oneline、short、full、full、およびformat(指定された形式が続きます)が含まれます。
       例:git log --pretty = oneline; git log --pretty = short; git log --pretty = full; git log --pretty = fuller
--pretty = tformat:表示するレコード形式をカスタマイズできます。この出力は、後のプログラミング、抽出、分析に便利です。
       例:git log --pretty = format: ""%h-%an、%ar:%s ""
       以下は、一般的に使用されるフォーマットプレースホルダーとその意味のリストです。                   
       オプション説明                  
       %H
       コミットオブジェクトの完全なハッシュ文字列               %hコミットオブジェクトの短いハッシュ文字列               
       %T
       ツリーオブジェクトの完全なハッシュ文字列                   %tツリーオブジェクトの短いハッシュ文字列                    
       %P完全なハッシュ文字列               
       %p親オブジェクトの%p親オブジェクトの短いハッシュ文字列                   
       %an作成者の名前              
       %ae作成者の電子メールアドレス                
       %ad作成者の改訂日(-date =オプションを使用して形式をカスタマイズできます)                   
       %Ar作成者の改訂日、
       %cnのコミッショナー(コミッター)の名前が表示されるのはどのくらい前                    ですか                
       %ce送信者の電子メールアドレス
       %cd送信日                
       %cr送信                    日、表示されるまでの期間              
       %s          送信の説明--since
は、出力の範囲を制限します。
例:git log --since = 2.weeksは、最後の2つを表示します。週の送信
       オプションの説明-                
       (n)最新のn個の                    
       送信のみを表示します--since、-after指定した時間以降の送信のみを表示します。                    
       --until、-before指定された時間より前の送信のみを表示します。                  
       --author指定された作成者に関連するコミットのみを表示します。                
       --committerは、指定されたコミッターに関連するコミットのみを表示します。
 
    いくつかの例:git log --until = 1.minute.ago // 1分前のすべてのログgitlog --since = 1.day.ago // 1日以内のログgitlog --since =1.hour。ago/ / log1時間以内gitlog --since = `.month.ago --until = 2.weeks.ago // 1か月前から半月前までの
ログgitlog --since == 2013- 08.01 --until = 2013-09-07 //
特定のファイルの関連する履歴確認するために特定の期間gitblameをログに記録します
       例:git blame index.html --date short

おすすめ

転載: blog.csdn.net/fei33423/article/details/111176759