使用 [format] 配置部分仅将输出格式应用于特定命令



我修改了gitconfig以获得丰富多彩且易于阅读的git log

[format]
    pretty = %C(yellow)%h %C(green)(%cd) %C(reset)%s%C(bold yellow)%d %C(bold cyan)<%an>%C(reset)

问题是这种格式也适用于 git show ,所以我不再有任何简单的方法来阅读多行提交消息。

到目前为止,我想出了两个烦人的解决方案:

  • gitconfig保留此格式部分,并在我想查看多行提交消息时使用--pretty=medium
  • gitconfig中删除格式部分并为单行日志创建别名:

    l = 日志 --

    装饰 --漂亮=格式:"整个格式链"
    ll = log --decorate -p --pretty=format:"又是整个格式链"

有没有更短或更优雅的方法将这种格式仅应用于 log 命令?

这显然是不漂亮和不优雅的,但至少你可以在一个地方调整格式:

[alias]
    l = !git log "--pretty=format:"$(git config --get myformats.log)"" --decorate

(根据需要添加ll等)。 上面的引用是通过实验发现的。

[myformats]
    log = %C(yellow)%h %C(green)(%cd) %C(reset)%s%C(bold yellow)%d %C(bold cyan)<%an>%C(reset)

最新更新