Ass*_*vie 87 git blame msysgit
当我在文件上运行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
Run Code Online (Sandbox Code Playgroud)
即它显示所有行都没有提交.
我在许多文件上尝试了这个,它有许多提交 - 总是相同的结果.我也试过使用相对/完整路径,但它似乎没有区别.
当我尝试使用TortoiseGit的责任时,它总是将每一行显示为在第一次提交时最后一次提交:

甚至想,正如我所说的,这些文件的历史实际上有数十次提交.
想法?
编辑 - 更多信息
kus*_*sma 126
git blame file.txt归咎于工作副本中的file.txt版本.如果file.txt在repo中有Windows新行(CRLF)core.autocrlf = true,那么file.txt的每一行都将被视为不同,并将报告git blame为尚未提交.
之所以git blame <my_branch>(或者甚至更好git blame HEAD,无论你在哪个分支上工作)的原因在于它不会责怪工作副本版本,因此没有可能尚未提交的行.
Ass*_*vie 55
找到解决方案 - 非常奇怪.
如果我运行这个:
git blame file.txt
Run Code Online (Sandbox Code Playgroud)
历史被打破,如上所述.
如果我这样做:
git blame my_branch file.txt
Run Code Online (Sandbox Code Playgroud)
有用!
这很奇怪,因为AFAICS的用法不需要分支名称:
$ git blame
usage: git blame [options] [rev-opts] [rev] [--] file
Run Code Online (Sandbox Code Playgroud)
启动git 2.0.1(2014年6月25日),git blame应该停止报告所有那些"尚未提交"的行.
见提交4d4813a由布赖恩·米 carlson(bk2204)(2014年4月):
gitster如果文件在存储库中包含CRLF行结尾
blame,则责备始终将行标记为"autocrlf",即使它们未经修改也是如此.
创建伪提交时不要尝试转换行结尾,以便无论autocrlf设置如何,blame都能正常工作.
| 归档时间: |
|
| 查看次数: |
11832 次 |
| 最近记录: |