サーチ…


構文

  • 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 DoeJohnny 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 locatemlocate 、これが唯一の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