セットアップと設定
プロジェクトの取得と作成
基本的なスナップショット
ブランチとマージ
プロジェクトの共有と更新
検査と比較
パッチ
デバッグ
メール
外部システム
サーバー管理
ガイド
- gitattributes
- コマンドラインインターフェースの規約
- 日常のGit
- よくある質問 (FAQ)
- 用語集
- フック
- gitignore
- gitmodules
- リビジョン
- サブモジュール
- チュートリアル
- ワークフロー
- すべてのガイド...
管理
Plumbingコマンド
- 2.41.1 → 2.47.0 変更なし
-
2.41.0
06/01/23
- 2.39.1 → 2.40.3 変更なし
-
2.39.0
12/12/22
- 2.34.1 → 2.38.5 変更なし
-
2.34.0
11/15/21
- 2.31.1 → 2.33.8 変更なし
-
2.31.0
03/15/21
- 2.30.1 → 2.30.9 変更なし
-
2.30.0
12/27/20
- 2.29.1 → 2.29.3 変更なし
-
2.29.0
10/19/20
- 2.23.1 → 2.28.1 変更なし
-
2.23.0
08/16/19
- 2.18.1 → 2.22.5 変更なし
-
2.18.0
06/21/18
- 2.16.6 → 2.17.6 変更なし
- 2.15.4 変更なし
- 2.13.7 → 2.14.6 変更なし
-
2.12.5
09/22/17
-
2.11.4
09/22/17
- 2.9.5 → 2.10.5 変更なし
-
2.8.6
07/30/17
-
2.7.6
07/30/17
- 2.5.6 → 2.6.7 変更なし
-
2.4.12
05/05/17
-
2.3.10
09/28/15
- 2.1.4 → 2.2.3 変更なし
-
2.0.5
12/17/14
説明
指定されたファイルの各行に、その行が導入されたコミットの情報を付加します。オプションで、指定されたリビジョンから付加します。
このコマンドとgit-blame[1]の唯一の違いは、出力形式が若干異なることと、このコマンドが既存のスクリプトをサポートするための後方互換性のためだけに存在すること、および他のSCMシステムから来た人々に、より馴染みのあるコマンド名を提供することです。
オプション
- -b
-
境界コミットに対しては空白のSHA-1を表示します。これは
blame.blankBoundary
設定オプションで制御することもできます。 - --root
-
ルートコミットを境界として扱わない。これは
blame.showRoot
設定オプションで制御することもできます。 - --show-stats
-
blame出力の最後に、追加の統計情報を含めます。
- -L <start>,<end>
- -L :<funcname>
-
<start>,<end>で指定された行範囲、または関数名の正規表現<funcname>で指定された行範囲のみを注釈します。複数回指定できます。重複する範囲は許可されます。
<start>と<end>はオプションです。
-L <start>
または-L <start>,
は、<start>からファイルの末尾までを範囲とします。-L ,<end>
は、ファイルの先頭から<end>までを範囲とします。<start>と<end>は、次のいずれかの形式をとることができます。
-
数値
<start>または<end>が数値の場合、絶対行番号を指定します(行は1から数えます)。
-
/regex/
この形式では、指定されたPOSIX正規表現に一致する最初の行を使用します。<start>が正規表現の場合、前の
-L
範囲の末尾(存在する場合)から、そうでない場合はファイルの先頭から検索します。<start>が^/regex/
の場合、ファイルの先頭から検索します。<end>が正規表現の場合、<start>で指定された行から検索を開始します。 -
+offset または -offset
これは<end>に対してのみ有効で、<start>で指定された行の前または後の行数を指定します。
<start>と<end>の代わりに
:<funcname>
が指定された場合、それは<funcname>に一致する最初の関数名行から、次の関数名行までの範囲を示す正規表現です。:<funcname>
は、前の-L
範囲の末尾(存在する場合)から、そうでない場合はファイルの先頭から検索します。^:<funcname>
は、ファイルの先頭から検索します。関数名は、git diff
がパッチチャンクヘッダーを解決する方法と同じ方法で決定されます(gitattributes[5]のカスタムチャンクヘッダーの定義を参照)。 -
- -l
-
長いリビジョンを表示します(デフォルト:オフ)。
- -t
-
生のタイムスタンプを表示します(デフォルト:オフ)。
- -S <revs-file>
-
git-rev-list[1]を呼び出す代わりに、revs-fileのリビジョンを使用します。
- --reverse <rev>..<rev>
-
履歴を逆方向にではなく順方向にたどります。行が表示されたリビジョンを表示する代わりに、行が存在していた最後のリビジョンを表示します。これには、blameの対象パスがSTARTに存在するSTART..ENDのようなリビジョンの範囲が必要です。
git blame --reverse START
は、便宜上git blame --reverse START..HEAD
として扱われます。 - --first-parent
-
マージコミットを確認したときに、最初の親コミットのみをたどります。このオプションは、行が履歴全体に導入されたときではなく、特定の統合ブランチに導入されたときを判断するために使用できます。
- -p
- --porcelain
-
機械で処理しやすい形式で表示します。
- --line-porcelain
-
ポーセリン形式で表示しますが、コミット情報が最初に参照されたときだけでなく、各行に対して出力します。--porcelainを暗黙的に意味します。
- --incremental
-
機械で処理しやすい形式で、結果をインクリメンタルに表示します。
- --encoding=<encoding>
-
作者名とコミットの概要を出力するために使用されるエンコーディングを指定します。
none
に設定すると、blameの出力は変換されていないデータになります。詳細については、git-log[1]マニュアルページでのエンコーディングに関する説明を参照してください。 - --contents <file>
-
指定されたファイルの内容を使用して注釈します。<rev>が指定されている場合は、そこから開始し、指定されていない場合はHEADから開始します。ファイルの内容をコマンドが標準入力から読み取るようにするには、-を指定できます。
- --date <format>
-
日付の出力に使用する形式を指定します。--dateが指定されていない場合は、blame.date設定変数の値が使用されます。blame.date設定変数も設定されていない場合は、iso形式が使用されます。サポートされている値については、git-log[1]の--dateオプションの説明を参照してください。
- --[no-]progress
-
ターミナルに接続されている場合、進捗状況はデフォルトで標準エラー ストリームに報告されます。このフラグは、ターミナルに接続されていない場合でも進捗状況の報告を有効にします。
--progress
を--porcelain
または--incremental
と一緒に使用することはできません。 - -M[<num>]
-
ファイル内で移動またはコピーされた行を検出します。コミットが行のブロックを移動またはコピーする場合(たとえば、元のファイルにAとBがあり、コミットによってBとAに変更された場合)、従来のblameアルゴリズムは移動の半分しか気づかず、通常、上に移動した行(つまり、B)を親にblameし、下に移動した行(つまり、A)を子コミットにblameします。このオプションを使用すると、追加の検査パスを実行することで、両方の行のグループが親にblameされます。
<num>はオプションですが、Gitがファイル内で移動/コピーとして検出する必要がある英数字の文字数の下限です。デフォルト値は20です。
- -C[<num>]
-
-M
に加えて、同じコミットで変更された他のファイルから移動またはコピーされた行を検出します。これは、プログラムを再編成し、ファイルを横断してコードを移動する場合に役立ちます。このオプションが2回指定された場合、コマンドはさらに、ファイルを作成するコミット内の他のファイルからのコピーを検索します。このオプションが3回指定された場合、コマンドはさらに、任意のコミット内の他のファイルからのコピーを検索します。<num> はオプションですが、Gitがファイル間での移動/コピーを検出したと判断するために、親コミットと関連付ける必要のある英数字の最小文字数です。デフォルト値は40です。複数の
-C
オプションが指定された場合、最後の-C
の <num> 引数が有効になります。 - --ignore-rev <rev>
-
指定されたリビジョンによる変更を、あたかも変更がなかったかのように無視して、 blame を割り当てます。無視されたコミットによって変更または追加された行は、その行または近くの行を変更した以前のコミットに blame が割り当てられます。このオプションを複数回指定して、複数のリビジョンを無視できます。
blame.markIgnoredLines
設定オプションが設定されている場合、無視されたコミットによって変更され、別のコミットに割り当てられた行は、blame 出力で?
でマークされます。blame.markUnblamableLines
設定オプションが設定されている場合、別のリビジョンに割り当てることができなかった無視されたコミットによって触れられた行は、* でマークされます。 - --ignore-revs-file <file>
-
file
にリストされているリビジョンを無視します。file
はfsck.skipList
と同じ形式である必要があります。このオプションは繰り返すことができ、これらのファイルはblame.ignoreRevsFile
設定オプションで指定されたファイルの後で処理されます。空のファイル名""
は、以前に処理されたファイルからのリビジョンリストをクリアします。 - --color-lines
-
デフォルト形式の行アノテーションについて、前の行と同じコミットに由来する場合は、異なる色で表示します。これにより、異なるコミットによって導入されたコードブロックを区別しやすくなります。色のデフォルトはシアンで、
color.blame.repeatedLines
設定オプションを使用して調整できます。 - --color-by-age
-
デフォルト形式で、行のアノテーションを行の経過時間に応じて色分けします。
color.blame.highlightRecent
設定オプションは、各経過時間範囲に使用される色を制御します。 - -h
-
ヘルプメッセージを表示します。
GIT
git[1] スイートの一部