90

ファイルに対して (msysgit を使用して) git Blame を実行すると、常に次のような出力が得られます。

00000000 (Not Committed Yet 2011-01-09 11:21:30 +0200   1) package co
00000000 (Not Committed Yet 2011-01-09 11:21:30 +0200   2) {
00000000 (Not Committed Yet 2011-01-09 11:21:30 +0200   3)      impor
00000000 (Not Committed Yet 2011-01-09 11:21:30 +0200   4)      impor
00000000 (Not Committed Yet 2011-01-09 11:21:30 +0200   5)      impor
00000000 (Not Committed Yet 2011-01-09 11:21:30 +0200   6)      impor
00000000 (Not Committed Yet 2011-01-09 11:21:30 +0200   7)      impor

つまり、すべての行が未コミットとして表示されます。

多くのコミットがある多くのファイルでこれを試しました-常に同じ結果です。相対/フルパスも試してみましたが、違いはないようです。

TortoiseGit の Blame を使用しようとすると、すべての行が最初のコミットで最後にコミットされたものとして常に表示されます。

代替テキスト

私が言ったように、これらのファイルの履歴には実際に何十ものコミットがあるとさえ思っていました..

アイデア?

編集 - 詳細情報

  • Git Blame は、このリポジトリがホストされている GitHub で正常に動作します。
  • Linuxマシンにクローンしてそこで責任を負わせても問題なく動作します
  • これは msysgit でのみ機能しないようです
4

4 に答える 4

128

git blame file.txt作業コピーの file.txt のバージョンを非難します。file.txt に Windows 改行 (CRLF) があり、 がある場合core.autocrlf = true、 file.txt のすべての行が異なると見なされ、git blameまだコミットされていないと報告されます。

が機能する理由git blame <my_branch>(またはgit blame HEAD、どのブランチにいても機能するより良い ) が機能する理由は、作業コピーのバージョンを非難しないため、行がまだコミットされていない可能性がないためです。

于 2011-01-11T00:51:29.317 に答える
55

解決策が見つかりました-非常に奇妙です。

これを実行すると:

git blame file.txt

上記のように、歴史は壊れています。

代わりにこれを行うと:

git blame my_branch file.txt

できます!

AFAICS の使用法ではブランチ名が必要ないため、これは非常に奇妙です。

$ git blame
usage: git blame [options] [rev-opts] [rev] [--] file
于 2011-01-09T10:04:41.443 に答える
8

git 2.0.1 (2014 年 6 月 25 日) 以降、git Blame はこれらすべての「未コミット」行の報告を停止する必要があります。

brian mによるcommit 4d4813a (2014 年 4 月 26 日)を参照してください。カールソン ( bk2204) .
( 2014 年 6 月 6 日にコミット e934c67Junio C Hamanoによってマージされました)gitster

blame:関係なくファイルを正しく処理しますautocrlf

リポジトリ内CRLFの行末core.autocrlf=inputNot Committed Yet.
設定に関係なく Blame が正しく機能するように、偽のコミットを作成するときに行末を変換しようとしないでくださいautocrlf

于 2014-07-27T08:16:09.473 に答える
1

別の可能性: 大文字と小文字を区別するファイル名のタイプミス

私はgit Blame file.txtで同じ問題を抱えていましたが、file.txtで大文字と小文字を区別するファイル名のタイプミスをしたことに気付きました

それを File.txt (たとえば) に変更すると、my_branch を指定しなくても期待どおりの結果が得られました。

于 2011-08-21T14:36:58.740 に答える