是否可以向git提交消息添加某種指令(metasymbols?),以便它們在git log
輸出中顯示顏色?是否有可能'着色'git日誌消息?
編輯:我會更具體 - 是否有可能在不同顏色的提交信息中標記幾個字?我想將顏色標記嵌入到提交消息中,並通過git log
進行檢查。例如,我想要錯誤ID顯示爲紅色。有可能有這樣的事情嗎?
是否可以向git提交消息添加某種指令(metasymbols?),以便它們在git log
輸出中顯示顏色?是否有可能'着色'git日誌消息?
編輯:我會更具體 - 是否有可能在不同顏色的提交信息中標記幾個字?我想將顏色標記嵌入到提交消息中,並通過git log
進行檢查。例如,我想要錯誤ID顯示爲紅色。有可能有這樣的事情嗎?
git log
可以採用參數--pretty
,它允許您指定一個格式字符串,您也可以在其中指定參數的顏色。然後,您可以將它別名爲新的shell命令。見PRETTY FORMAT
here
您可以通過git config
選項color.ui
設置true
打開colourised輸出。以下應該工作。
git config --global color.ui true
然後你就可以定義別名使用--pretty=format:".."
選項,增加了色彩。但我不認爲有任何類型的自定義匹配。我想這就是你需要對bug ID進行調色的東西。但是,您可以對散列,作者,分支等提交元素進行着色。
根據您的編輯,看起來您正在尋找將格式添加到提交日誌消息本身的方法。我會通過說明提交消息存儲爲plain text within Git Objects來回答這個問題。因此,從理論上講,您可以編寫一個程序,使用富文本編輯來讀取和格式化Git Commit對象,允許格式化文本,幾乎所有現有程序都限制爲使用純文本格式。
這就是說,你可以使用上面提到的--pretty
選項,並結合聰明的提交命名來使bug ID突出。
你可以手動完成,例如像這樣的東西:
git log --color=always | grep --color=always -C1000 BUG- | less -R
退房線20和我.gitconfig 21我如何定製git的日誌顏色。
這些是我的兩個着色git日誌的faviorite git別名。
lg1 = log --graph --all --format=format:'%C(bold blue)%h%C(reset) - %C(bold green)(%ar)%C(reset) %C(white)%s%C(reset) %C(bold white)— %an%C(reset)%C(bold yellow)%d%C(reset)' --abbrev-commit --date=relative
lg = log --graph --all --format=format:'%C(bold blue)%h%C(reset) - %C(bold cyan)%aD%C(reset) %C(bold green)(%ar)%C(reset)%C(bold yellow)%d%C(reset)%n'' %C(white)%s%C(reset) %C(bold white)— %an%C(reset)' --abbrev-commit
的答案,我還沒有發現這裏呢,是爲了獲得顏色代碼在git log
和git diff
正確顯示,你可能還需要指定該默認core.pager
設置爲使用less
(如在許多disto中)。然而,較少沒有通過顏色代碼的權利,除非您還給少-r
(未加工)選項。所以,你需要這樣做:
git config --global color.ui true
git config --global core.pager 'less -r'
[在git的日誌彩色]的可能重複(http://stackoverflow.com/questions/5889878/color-in-git-log) – 2012-07-16 11:38:09
@ Christian.K,我相信這不是我正在尋找的。我已經擴展了我的問題描述,使我的觀點更加清晰。 – shytikov 2012-07-16 11:45:09