我用这个命令来显示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
,但没有运气。
EDITS
虽然我明白为什么你想要这个,但我会说你不能用git log的漂亮格式做到这一点。
正如我们已经评论过的那样,您要突出显示的字符串是%s
占位符的一部分,它包含提交消息主题(提交消息的第一行)。
漂亮格式的颜色代码并不灵活,我们无法制作自己的占位符或切割部分。
当然你可以将你的日志传递给任何bash函数来修改输出,但不幸的是,仅仅使用pretty
格式就没有这样做。
终于得到了一个有效的解
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