2009-09-17 65 views
22

我真的很喜歡短的git的日誌格式,在那裏我可以看到作者,日期和變化的描述是這樣的:Git是如何保存預設git的日誌--format

git log --pretty=format:"%h%x09%an%x09%ad%x09%s" 

,輸出:

fbc3503 mads Thu Dec 4 07:43:27 2008 +0000 show mobile if phone is null... 
    ec36490 jesper Wed Nov 26 05:41:37 2008 +0000 Cleanup after [942]: Using timezon 
    ae62afd tobias Tue Nov 25 21:42:55 2008 +0000 Fixed #67 by adding time zone supp 
    164be7e mads Tue Nov 25 19:56:43 2008 +0000 fixed tests, and a 'unending appoi 

(從計算器問題「link text」)

現在的問題是,我該如何保存這爲我的機器上的一個新的格式,所以我只寫類似,比如:

git log --format=jespers_favourite 
+0

我已經修復了您的評論後的答案。 – VonC 2009-09-18 10:33:37

回答

20

考慮到git的日誌手冊頁中提到:

--pretty[=<format>] 
--format[=<format>] 

漂亮地打印在一個給定的格式提交日誌的內容,在這裏可以ONELINE,短期,中期,到處,更全面,電子郵件,原始和格式:。省略時,格式默認爲中等。

<format>只能有預定義的值。
這隻會讓您有可能以define an alias作爲該命令的快捷方式。

[alias] 
     jespers_favourite = log --pretty=format:"%h%x09%an%x09%ad%x09%s" 

[alias] 
     compactlog = log --pretty=format:"%h%x09%an%x09%ad%x09%s" 
+0

@ftassi好點。我已恢復鏈接(與你提到的那個)。 – VonC 2013-01-05 13:31:09

+0

我也需要避開引號,才能使這個工作 – ftassi 2013-01-05 13:43:56

+0

@ftassi你需要在'git config alias.xxx ...'命令中跳過引號?不在'.config'文件本身中? – VonC 2013-01-05 13:51:43

28

在Git中的新版本(帶v1.7.8證實),可以使用git config pretty.named_format設置命名漂亮地打印日誌格式。可以使用<file-option>參數將它們設置爲機器範圍的,用戶級或文件級

要創建一個名爲jespers_favourite日誌格式或整機的使用--system

git config --system pretty.jespers_favourite "%h%x09%an%x09%ad%x09%s" 

對於單個用戶使用「--global」

git config --global pretty.jespers_favourite "%h%x09%an%x09%ad%x09%s" 

離開<file-option>參數留空將默認設置除非另有定義,否則當前存儲庫的配置文件.git/config

+2

這幾乎是正確的,但有幾個重要的注意事項:名稱不能包含下劃線(至少在Git 1.7.10中),自定義格式必須以「format:」開頭(或引用內置格式)。 – RJHunter 2013-01-03 10:57:02

0

您可以使用git-config配置默認的漂亮格式。從混帳配置文件:

format.pretty 
      The default pretty format for log/show/whatchanged command, See git-log(1), git-show(1), git-whatchanged(1). 

例如:

git config --add format.pretty fuller

或原始的海報期望的格式:

git config --add format.pretty "%h%x09%an%x09%ad%x09%s"

同其它混帳配置設置,格式。漂亮可以設置在全局,系統或存儲庫範圍(默認)。