显示文件中一行或部分的提交历史

the*_*ebe 5 git

我正在查看文件中某个部分的提交历史记录。特别是有两行我很感兴趣。我想看看这两条行有什么变化可以追溯到几个月前,甚至是文件的来源。是否有使用命令行快速获取更改的方法?我知道 git 的 GUI 允许您执行此操作,但我不想这样做。如果我打算这样做,我宁愿使用 vim 或 sublime。

理想情况下,我想要提交哈希、日期、名称和更改之类的东西。

34hi5u3k 4/13/2013 Someone Name (Line 408)  $text = 'Something';
72wbedfj 4/05/2013 Someone Else (Line 408)  $text = 'Something else';
827y3hrj 3/29/2013 Someone Nice (Line 408)  $text = 'This one time...';
Run Code Online (Sandbox Code Playgroud)

tim*_*our 1

显示 $filename 中第 95-105 行的所有更改:

git log -L 95,105:$filename
Run Code Online (Sandbox Code Playgroud)

显示 $filename 中从 regex 开始的 10 行的所有更改:

git log -L /<regex>/,+10:$filename
Run Code Online (Sandbox Code Playgroud)

生成的输出不是您提到的理想格式,但它确实显示了整个历史记录的指定部分的所有差异。