サーチ…


構文

  • git blame [ファイル名]
  • git blame [-f] [ - e] [ - w] [filename]
  • git blame [-L range] [filename]

パラメーター

パラメータ詳細
ファイル名詳細を確認する必要があるファイルの名前
-f 原点のコミットにファイル名を表示する
-e 著者名の代わりに著者メールを表示する
-w 子と親のバージョンを比較する際に空白を無視する
-L start、end 与えられた行範囲のみを表示する例: git blame -L 1,2 [filename]
--show-stats 非難出力の終わりに追加の統計情報を表示します。
-l ロングリビジョンを表示する(デフォルト:オフ)
-t 生のタイムスタンプを表示する(デフォルト:オフ)
-逆履歴を後方に移動する代わりに前方に歩く
-p、--porcelain 機械消費のための出力
-M ファイル内の移動またはコピーされた行を検出する
-C -Mに加えて、同じコミットで変更された他のファイルから移動またはコピーされた行を検出する
-h ヘルプメッセージを表示する
-c git-annotateと同じ出力モードを使用する(デフォルト:オフ)
-n 元のコミットに行番号を表示する(デフォルト:オフ)

備考

git blameコマンドは、行ごとにファイルを変更した人が誰であるかを知るときに非常に便利です。

行を最後に修正したコミットを表示する

git blame <file>

最後に変更したコミットで注釈が付けられた各行のファイルが表示されます。

空白のみの変更を無視する

reposは、インデントの固定やタブとスペースの切り替えなど、空白を調整するだけのコミットを持つことがあります。これにより、実際にコードが書き込まれた場所を見つけるのが難しくなります。

git blame -w

空白のみの変更を無視して、実際の行の位置を見つけます。

特定の行のみを表示する

ライン範囲を次のように指定すると、出力を制限できます。

git blame -L <start>,<end>

<start><end>は次のようになります。

  • 行番号

    git blame -L 10,30

  • /正規表現/

    git blame -L /void main/git blame -L 46,/void foo/

  • + offset、-offset( <end>のみ)

    git blame -L 108,+30git blame -L 215,-15

複数の行範囲を指定し、重複範囲を指定することができます。

git blame -L 10,30 -L 12,80 -L 120,+10 -L ^/void main/,+40

ファイルを変更した人を知るには

// Shows the author and commit per line of specified file
git blame test.c 

// Shows the author email and commit per line of specified 
git blame -e test.c file

// Limits the selection of lines by specified range
git blame -L 1,10 test.c 


Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow