Git 2.18 を更新 (2018 年第 2 四半期): " git blame
" は、前のコミットと同じ行で元のコミットから興味のないメタデータをハイライト解除し、コミットの経過時間に応じて異なる色で行をペイントすることを学習します。
commit 0dc95a4、commit 25d5f52、commit cdc2d5f (2018 年 4 月 24 日) by Stefan Beller ( stefanbeller
)を参照してください。
( 2018 年 5 月 30 日、コミット 3d24129でJunio C Hamanoによってマージされました)gitster
builtin/blame
: 新しい配色設定を追加
Blame のデフォルトの配色を選択できる構成オプションを追加します。コマンド ラインは引き続き設定よりも優先されます。
git config
現在、次のように報告されています。
blame.coloring::
これにより、blame 出力に適用される配色が決まります。
' repeatedLines
'、' highlightRecent
'、またはnone
デフォルトの ' ' を指定できます。
builtin/blame: 最近変更された行を強調表示します
日付に別の色を選択し、年齢に応じて「温度のクールダウン」を模倣します.
以前のパッチと同様に、--color-by-age
このモードを有効にするコマンド ライン オプション ' ' と、color.blame.highlightrecent
色を選択する構成オプション ' ' が提供されます。
ドキュメントに次のものが追加されました。
color.blame.highlightRecent
これは、行の経過時間に応じて、非難行のメタデータを色付けするために使用できます。
この設定は、色と日付の設定のカンマ区切りのリストに設定する必要があります。日付は、古いものから新しいものへと設定する必要があります。
行が指定されたタイムスタンプの前に導入された場合、メタデータは指定された色で色付けされ、古いタイムスタンプ付きの色が上書きされます。
絶対タイムスタンプの代わりに、相対タイムスタンプも機能します。たとえば、2.weeks.ago は 2 週間より古いものに対処するのに有効です。
デフォルトは ' blue,12 month ago,white,1 month ago,red
' で、1 年以上経過したものはすべて青色で表示され、1 か月から 1 年前までの最近の変更は白色で表示され、先月に導入された行は赤色で表示されます。
builtin/blame
: 興味のないメタデータ行を薄暗くする
を使用するgit-blame
と、多くの行に冗長な情報が含まれます。たとえば、複数の行で構成されるハンクでは、メタデータ (コミット名、作成者、日付) が繰り返されます。
読者はそれらに興味がないかもしれないので、前の行から繰り返される情報に異なる色を付けるオプションを提供してください。
伝統的に、他のものよりも興味のない行 (ハンク ヘッダーなど) には CYAN を使用するので、それを使用します。
コマンド ライン オプション ' --color-lines
' は繰り返される行の色付けをトリガーし、構成オプション ' color.blame.colorLines
' は色を選択するために提供されます。
config オプションを設定しても、繰り返される行が色付けされるわけではありません。
注: " " ( man )--color-lines
の " " および " --color-by-age
" オプションが欠落しており、現在 Git 2.34 (Q4 2021) で文書化されています。git blame
コミット 8c32856 (2021 年 10 月 8 日) と、 Bagas Sanjaya ( )によるコミット 38c356a (2021 年 10 月 1 日)を参照してください。( 2021 年 10 月 18 日、コミット 871e42eでJunio C Hamanoによってマージされました)bagasme
gitster
blame
: ドキュメント --color-* オプション
共著: Dr. Matthias St. Pierre
署名者: Dr. Matthias St. Pierre
署名者: Bagas Sanjaya
cdc2d5f (" : 興味のないメタデータ行を暗くするbuiltin/blame
"、2018-04-23、Git v2.18.0-rc0 --バッチ #7にリストされているマージ) および25d5f52 (" : 最近変更された行を強調表示する"、2018-04-23、Git をコミットします。 v2.18.0-rc0 --バッチ #7にリストされているマージ) と( man )へのオプションをそれぞれ導入します。
どちらのオプションも使用方法のヘルプに記載されていますが、 には記載されていません。
それらを文書化します。builtin/blame
--color-lines
--color-by-age
git blame
git-blame(1)
git blame
manページに含まれるようになりました:
[--color-lines] [--color-by-age] [--progress] [--abbrev=] [ | --目次 | - 逆行する ..] [ - ]
blame-options
manページに含まれるようになりました:
--color-lines
前の行と同じコミットからのものである場合、デフォルト形式の行注釈に異なる色を付けます。これにより、異なるコミットによって導入されたコード ブロックを区別しやすくなります。色のデフォルトはシアンで、color.blame.repeatedLines
config オプションを使用して調整できます。
--color-by-age
デフォルトの形式では、線の経過時間に応じて線の注釈に色を付けます。構成オプションは、color.blame.highlightRecent
年齢の各範囲で使用される色を制御します。
git config
manページに含まれるようになりました:
この設定は、色と日付の設定のカンマ区切りのリストに設定する必要があります。日付は、古いものから新しいものへと設定する必要があります。行が指定されたタイムスタンプの前に導入された場合、メタデータは指定された色で色付けされ、古いタイムスタンプ付きの色が上書きされます。
git config
manページに含まれるようになりました:
デフォルトはblue,12 month ago,white,1 month ago,red
で、1 年以上経過したものはすべて青色で表示され、1 か月から 1 年前までの最近の変更は白色で表示され、先月に導入された行は赤色で表示されます。
git config
manページに含まれるようになりました:
git blame --color-lines
前の行と同じコミットからのものである場合、指定された色を使用して の行注釈を色付けします
。デフォルトはシアンです。
元の回答 2010
Trac や Redmine などの Web インターフェイスがgit blame
結果を統合することを考えると、そのような解析は既に行われていると思います。
このRedmine Defect 3832で、この ruby スクリプトを使用した例を確認できます。