当我对文件运行 git blame 时(使用 msysgit),我总是得到以下类型的打印输出:
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 时,它总是将每一行显示为在第一次提交时最后提交:
甚至认为,正如我所说的,这些文件的历史记录中实际上有数十次提交..
想法?
编辑 - 更多信息
最佳答案
git blame file.txt
归咎于你的工作副本中的 file.txt 版本。如果 file.txt 在 repo 中有 Windows-newlines (CRLF) 并且你有 core.autocrlf = true
,那么 file.txt 的每一行都将被认为是不同的,并且会被 git blame
报告为尚未提交。git blame <my_branch>
(或者更好的 git blame HEAD
,无论你在哪个分支上都可以工作)之所以有效,是因为它不会归咎于工作副本版本,因此没有可能出现尚未提交的行。
关于Git 责备显示没有历史记录,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4638500/