追加や削除など、誰かのコード送信をカウントします。
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