2010-10-18 52 views
40

git log有一個不錯的--format選項來指定如何格式化輸出。有沒有辦法自定義git blame的輸出?

但是git blame似乎沒有等效,儘管blame的默認輸出不太人性化。我希望看到更少。

例如,而不是:

5600cab7 js/sidebar/VehicleGrid.js  (Rene Saarsoo 2009-10-08 18:55:24 +0000 127) if (x > y) { 
b5f1040c js/map/monitoring/VehicleGrid.js (Mihkel Muhkel 2010-05-31 07:20:13 +0000 128)  return x; 

我想有:

5600cab7 Rene Saarsoo (1 year ago)  127: if (x > y) { 
b5f1040c Mihkel Muhkel (5 months ago) 128:  return x; 

我想,我可以寫一個腳本來分析的git blame --porcelain的輸出,但考慮到可怕的默認輸出blame我覺得有人在那裏肯定已經做了些什麼。

任何想法?或者實現這樣的腳本的任何提示?

編輯:通過編寫small script解決了這個問題。

+2

您可以隨時使用'git的GUI怪':-) – 2010-10-18 14:28:52

+6

嗯,我敢肯定它不會通過SSH工作。 – 2010-10-18 15:47:22

+1

它會工作(至少當雙方都使用X窗口),如果你啓用** X11轉發** ...雖然我不會推薦它,因爲它可能會很慢。 – 2010-10-18 18:38:42

回答

2

像Trac系統或管理平臺考慮到Web界面集成git blame結果,我想這樣的分析已經完成。

可以在此Redmine Defect 3832與此紅寶石腳本的例子請參閱:

+0

謝謝,這個來源實際上有幫助。 – 2010-10-18 13:47:09

+0

** gitweb **也包含'blame'(和'blame_incremental')視圖,雖然它默認關閉(因爲它是CPU豬)。 – 2010-10-18 14:22:57

18

可以使用備用輸出格式:git annotategit blame -c

您可以更改日期的格式與--date=<format>選項(或blame.date配置變量),其中<format>相對的,局部的,默認情況下,ISO,RFC之一,短。詳細信息請參閱git-blamegit-log聯機幫助頁。

+0

是的,--date選項有點幫助,但它仍然不如我想要的那麼好。並註釋產生恕我直言只是一個替代醜陋的輸出:P – 2010-10-18 15:40:55

+0

+1'git blame -c'。 awk很好地工作。 – Utopik 2013-09-09 14:23:51

+0

@ReneSaarsoo:有責任/註釋的GUI,其中之一是'git gui blame'。 – 2013-09-09 15:23:52

5

對於我來說,-s標誌的作品,因爲所有我需要的是SHA1 ID,在這之後我擡頭提交的詳細信息。一個腳本絕對看起來像矯枉過正。 -s標誌在一年前不可用嗎?

+1

我已經使用了[我的小腳本](https://github.com/nene/config/blob/master/bin/git-praise)一年多了,我可以說這是一個耗費精力的小小努力。 -s標誌對我來說是不夠的 - 我真的關心作者和日期,如果我能避免它,我不想深入挖掘。另外我的腳本生成一個很好的彩色輸出。 – 2012-01-16 18:09:01

相關問題