我正在尝试将oneline
的Git格式设置重新创建为格式字符串(为了进一步扩展它)。
所以对于这个命令
git log --format=oneline
相当于oneline
的格式字符串是什么?
我能得到的最接近的是
git log --format="%h %d %s"
但是,这不会产生任何颜色。我知道我可以硬编码其中一些,比如提交哈希。但%d具有动态颜色,具体取决于它显示的内容。
答案 0 :(得分:18)
开启自动颜色
git log --format="%C(auto) %h %d %s"
,输出将如下所示
%C(...):颜色规范,如color.branch。* config选项中所述;添加自动,在开始时将仅在为日志输出启用颜色时发出颜色(通过color.diff,color.ui或--color,并且如果我们要去终端则尊重前者的自动设置)。 单独自动(即%C(自动))将在下一个占位符上启用自动着色,直到再次切换颜色。
答案 1 :(得分:1)
你必须玩颜色。
您应该用来解决问题的颜色是auto
,它为每种类型的参考采用不同的颜色。
一个例子:
%Cred%h %Cgreen%<(10,trunc)%cd %C(auto)%d%Creset%s %C(bold blue)%an
答案 2 :(得分:1)
有一个很好的脚本可以帮到你。将其添加为别名,您将看到很酷的打印。
https://github.com/garybernhardt/dotfiles/blob/master/.githelpers
别名:l = "!source ~/.githelpers && pretty_git_log"
这里有一个示例.gitconfig
文件,介绍如何设置别名+更多别名。
答案 3 :(得分:1)
经过一段时间的努力,我终于决定使用这样漂亮的格式:
lg = "log --graph --pretty=format:'%Cblue%ad%Creset -%C(yellow)%d%Creset %h %s %C(bold blue)<%an>%Creset'"
漂亮的效果看起来像这样
以下是如何使用它:
第1步
使用您最喜欢的编辑器(如emacs或vim)打开〜/ .gitconfig文件。在[alias]
部分下添加以下命令。
lg = "log --graph --pretty=format:'%Cblue%ad%Creset -%C(yellow)%d%Creset %h %s %C(bold blue)<%an>%Creset'"
第2步
在任何本地git存储库中,尝试执行:
git lg
因此,您现在可以看到漂亮的格式化日志输出,就像屏幕截图所示。