サーチ…
構文
- git log [<options>] [<revision range>] [[ - ] <path>]
- git log --pretty = short | git shortlog [<options>]
- git shortlog [<options>] [<revision range>] [[ - ] <path>]
パラメーター
パラメータ | 詳細 |
---|---|
-n 、-- --numbered | アルファベット順ではなく、著者ごとのコミット数に従って出力をソートする |
-s 、 - --summary | コミット・カウントの要約のみを提供する |
-e 、-- --email | 各著者のメールアドレスを表示する |
--format [= <形式>] | コミット主題の代わりに、他の情報を使用して、各コミットを記述します。 <format>には、 git log --format オプションで受け入れられる任意の文字列を--format できgit log 。 |
-w [<width> [、<indent1> [、<indent2>]]] | 各行をwidth 折り返して出力を折り返します。各エントリの最初の行は、によってインデントされindent1 スペースの数、およびそれに続く行がでインデントさindent2 スペース。 |
<リビジョン範囲> | 指定したリビジョン範囲内のコミットのみを表示します。現在のコミットまでの履歴全体のデフォルトです。 |
[ -- ] <パス> | path 一致するファイルがどのようになったかを説明するコミットのみを表示します。オプションやリビジョン範囲からパスを区切るには、接頭辞として " - "を付ける必要があります。 |
開発者ごとのコミット
Gitのshortlog
ログは、gitのログ出力を要約し、コミットを著者shortlog
にまとめるために使用されます。
デフォルトでは、すべてのコミットメッセージが表示されますが、引数--summary
または-s
はメッセージをスキップし、合計コミット数を持つ作者のリストを表示します。
--numbered
または-n
は、アルファベット順(著者昇順)から降順のコミット数に順番を変更します。
git shortlog -sn #Names and Number of commits
git shortlog -sne #Names along with their email ids and the Number of commits
または
git log --pretty=format:%ae \
| gawk -- '{ ++c[$0]; } END { for(cc in c) printf "%5d %s\n",c[cc],cc; }'
注:同じ人物によるコミットは、名前や電子メールアドレスのスペルが異なるところでグループ化することはできません。たとえば、 John Doe
とJohnny Doe
がリストに別々に表示されます。これを解決するには、 .mailmap
機能を参照してください。
日付ごとにコミットする
git log --pretty=format:"%ai" | awk '{print " : "$1}' | sort -r | uniq -c
ブランチ内のコミットの総数
git log --pretty=oneline |wc -l
各ブランチとその最後のリビジョンの日付をリストする
for k in `git branch -a | sed s/^..//`; do echo -e `git log -1 --pretty=format:"%Cgreen%ci %Cblue%cr%Creset" $k --`\\t"$k";done | sort
開発者ごとのコード行
git ls-tree -r HEAD | sed -Ee 's/^.{53}//' | \
while read filename; do file "$filename"; done | \
grep -E ': .*text' | sed -E -e 's/: .*//' | \
while read filename; do git blame --line-porcelain "$filename"; done | \
sed -n 's/^author //p' | \
sort | uniq -c | sort -rn
すべてのコミットをかなりの形式で一覧表示する
git log --pretty=format:"%Cgreen%ci %Cblue%cn %Cgreen%cr%Creset %s"
これにより、日付、ユーザー、コミットメッセージを含むすべてのコミット(1行に1つ)の素晴らしい概要が得られます。
--pretty
オプションには多くのプレースホルダがあり、それぞれ%
始まります。すべてのオプションはここにあります
コンピュータ上のすべてのローカルGitリポジトリを検索する
gitリポジトリのすべての場所を表示するには、次のコマンドを実行します
find $HOME -type d -name ".git"
locate
ていると仮定すると、これははるかに速くなるはずです。
locate .git |grep git$
あなたが持っている場合はgnu locate
やmlocate
、これが唯一のgitのdirsを選択します:
locate -ber \\.git$
著者ごとのコミットの総数を表示する
それぞれの開発者や投稿者がリポジトリに行ったコミットの総数を取得するには、単純にgit shortlog
使用します。
git shortlog -s
著者名とそれぞれのコミット数を提供します。
さらに、結果がすべてのブランチで計算されるようにするには、コマンドに--all
フラグを追加します。
git shortlog -s --all
Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow