我使用此命令显示git log:
git log --oneline --decorate --graph --all --pretty=format:'\''%C(yellow)%h %Cred%ad %Cblue%an%C(auto)%d %Creset%s'\'' --date=format:'%d.%m.%Y''
如您所见,我使用特定的输出格式(具有特定的颜色)。在控制台中,我看到这样的内容:
* 3eb268b 01.01.2019 username (origin/master, origin/HEAD, master) CODE-123 Random commit message
接下来的问题是:我该如何突出显示这一部分:CODE-123
?
我尝试使用grep
,但没有运气。
编辑
答案 0 :(得分:2)
尽管我知道您为什么想要这样做,但我会说您无法使用git log的漂亮格式来做到这一点。
您要突出显示的字符串是{em> %s
占位符的一部分 ,该占位符包含提交消息的主题(提交消息的第一行)。
漂亮格式的颜色代码不是那么灵活,我们不能自己制作占位符或切掉其中的一部分。
当然,您可以将日志传送到任何 bash函数来修改输出,但是不幸的是,仅凭pretty
格式就不能这样做。
答案 1 :(得分:1)
最终找到了可行的解决方案:
git log --oneline --decorate --graph --pretty=format:'%C(yellow)%h %Cred%ad %Cblue%an%C(auto)%d %Creset%s' --date=format:%d.%m.%Y --color=always | grep --color=always -E '[A-Z]+-[0-9]+|$' | less -r