git blame
オプションの1つは行範囲を処理します。マニュアルには次のように書かれています。
-L 1 から数えて、行範囲 n,m のみを処理します
現在、100 行を超えるファイルがあります。を実行するgit blame -L 5,15 myFile.txt
と、git が不平を言います:
致命的: 不正なリビジョン '15'
興味深いことに、 を実行しても git は文句を言いませんgit blame -L 5 myFile.txt
。
どうしたの?
git blame
オプションの1つは行範囲を処理します。マニュアルには次のように書かれています。
-L 1 から数えて、行範囲 n,m のみを処理します
現在、100 行を超えるファイルがあります。を実行するgit blame -L 5,15 myFile.txt
と、git が不平を言います:
致命的: 不正なリビジョン '15'
興味深いことに、 を実行しても git は文句を言いませんgit blame -L 5 myFile.txt
。
どうしたの?
その場合、コマンドは正しく見えます。
composer.json ファイルでその問題を確認しましたが、うまく機能しています。ファイル内よりも多くの行にアクセスしようとすると、「file composer.json has only 87 lines」というエラーが表示されます。
このエラーは、2 番目の値の前にスペースがある場合にのみ発生します。
git blame -L 10, 200 composer.json
fatal: bad revision '200'
だから私はそれが問題だと思います。
PowerShell や Posh-Git では、コンマの後にスペースが挿入される場合があることに注意してください。コマンドプロンプトを使用してみてください。
注: git 2.19 (2018 年第 3 四半期) では、-L[<N>][,[<M>]]
パラメーター " git blame
" および " git log
" テイクの解析が微調整されました。
fatal: bad revision '15'
特にファイルの行数が 15 行未満の場合は、特定のケースを回避する必要があります。
commit 7f81c00、commit 96cfa94 (2018 年 6 月 15 日) by Isabella Stephens (``)を参照してください。
( 2018 年 8 月 2 日にコミット 6566a91でJunio C Hamanoによってマージされました)gitster
blame
: 範囲がファイルの末尾を超えて終了する場合のエラーを防ぎますで行範囲を指定するために
-L
オプションが使用されgit blame
、範囲の末尾がファイルの末尾を超えている場合、git は致命的なエラーで失敗します。 このコミットにより、そのような動作が防止されます。代わりに、指定された範囲内の既存の行の責任が表示されます。このコミットは、2 つのコーナー ケースも修正します。
- Blamingは、ファイルの末尾からではなく
-L n,-(n+1)
、ファイルの最初のn
行を非難するようになりました。n
- 非難は、ファイル全体を非難するのではなく、ファイルの最初の行を非難する
-L ,-n
ものとして扱われます。-L 1,-n