2014-03-13 123 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 

產生的輸出是而不是您提到的理想格式,但它確實顯示了整個歷史記錄的指定部分的所有差異。

相關問題