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

时间:2014-02-25 22:46:27

标签: git

我修改了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中删除格式部分并为oneline日志创建别名:

    l = log --decorate --pretty = format:'整个格式化链' ll = log --decorate -p --pretty = format:'再次整个格式化链'

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

1 个答案:

答案 0 :(得分:1)

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

[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)