2014-03-13 68 views
4

我期待逐步完成文件中段的提交历史记录。特别是,我有两条感兴趣的线路,我想看看几个月前这两行的变化,甚至是文件的起源。有没有一种快速的方法来使用命令行来获取更改?我知道有git的GUI可以让你做到这一点,但我不想。如果我要这样做,我宁愿使用vim或崇高。在文件中显示提交行或段的历史记录

理想情况下,我想要提交哈希,日期,名称和更改。

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...'; 
+0

'git blame'(请参阅'-L'选项来限制线路范围)。 – torek

+0

@torek如果我没有弄错(而且我可以很容易!),“git blame”显示你是谁对这条线的最后一次改变负责,但不是这条线的改变的历史(这是什么要求)。有没有标志让git责备过去承诺跟踪所有的变化,而不仅仅是最新的变化? – mah

+3

@mah:没有标记,但可以用脚本稍微自动化一下:抓住每个rev并添加“rev ^”以查找先前的rev。例如,在它告诉你第25行来自rev c1fb4844之后,再次用c1fb4844 ^运行它以查找先前的rev。然后再次运行该结果,直到用完先前的转速。我怀疑' - 增量'输出也会对此有所帮助。使用'-S'可能也适合优化。 – torek

回答

1

显示所有改变到$文件名线95-105:

git log -L 95,105:$filename 

展$文件名开始在正则表达式的所有变化到10行:

git log -L /<regex>/,+10:$filename 

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

相关问题