是否可以在git commit消息中添加某种指令(metasymbols?),因此它们会在git log
输出中显示为彩色?
编辑:我会更具体 - 是否可以在提交消息中标记不同颜色的几个单词?我想在提交消息中嵌入颜色标记,并通过git log
进行审核。例如,我希望错误ID 显示为红色。有可能有这样的东西吗?
答案 0 :(得分:3)
您可以通过将git config
选项color.ui
设置为true
来启用彩色输出。以下应该有效。
git config --global color.ui true
然后,您可以使用--pretty=format:".."
选项定义添加颜色的别名。但我不认为有任何自定义匹配。我想这就是你需要像bug ID那样的颜色。但是,您可以对哈希,作者,分支等提交元素进行着色。
答案 1 :(得分:1)
git log
可以使用参数--pretty
,它允许您指定格式字符串,您也可以在其中指定参数的颜色。然后,您可以将其别名为新的shell命令。请参阅PRETTY FORMAT
here
答案 2 :(得分:1)
根据您的编辑,您似乎正在寻找一种向提交日志消息本身添加格式的方法。我将通过声明提交消息存储为plain text within Git Objects来回答这个问题。因此,从理论上讲,您可以编写一个程序来使用富文本编辑来读取和格式化Git Commit对象,允许格式化文本,几乎所有现有程序都限于使用纯文本。
话虽这么说,您可以使用上面提到的--pretty
选项结合提交的智能命名,以使错误ID突出。
答案 3 :(得分:0)
你可以手动完成,例如用这样的东西:
git log --color=always | grep --color=always -C1000 BUG- | less -R
答案 4 :(得分:0)
查看.gitconfig的第20行和第21行,了解我如何使用颜色自定义git日志。
这是我最喜欢的git别名,用于着色git log。
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
答案 5 :(得分:0)
我还没有找到答案,为了在git log
和git diff
中正确显示颜色代码,您可能还需要指定默认 core.pager
设置为使用less
(与许多disto&#39}一样。)但是,除非您还要更少 -r
(原始)选项。所以你需要这样做:
git config --global color.ui true
git config --global core.pager 'less -r'