如何使'git log'默认显示修饰信息

41

当我经常键入git log时,实际上我想要的是git log --decorate。如何使它默认带有--decorate选项?

我看到许多答案形式为“创建一个别名lg,然后键入git lg而不是git log”。但是,我找不到任何地方可以更改git log本身的默认行为。 alias log无法工作。


Git不允许别名覆盖现有命令,因此您无法创建名为“log”的别名。 - Chris
2个回答

63

git config log.decorate auto

若要进行全局设置,请添加--global参数。

命令如下:

git config --global log.decorate auto

使用git config alias.lg "log --decorate"命令可以创建别名。


23

更新于2017年4月,三年后:

正确的语法(如接受的答案所述)是:

git config --global log.decorate auto

使用Git 2.13(2017年第二季度),无需配置: --decorate 是默认设置!

参见提交记录 940a911(2017年3月24日)由Alex Henrie (alexhenrie)完成。
(由Junio C Hamano -- gitster --合并到提交记录 d9758cf,2017年4月11日)

交互会话中 "git log" 的默认行为已更改以启用 "--decorate"。

这意味着您需要在命令行上覆盖该选项,才能恢复旧的行为(仅针对一个 log 执行):

git -c log.decorate=false log


原回答(2014年中期)

注意:自从Git 2.1.0-rc0(2014年7月)以来,Linus Torvalds本人引入了decorate=auto选项。
这比仅使用decorate=true更精确,特别是用于脚本编写,如下所述。

参见提交记录1571586Linus Torvalds (torvalds)完成:

This works kind of like "--color=auto" - add decorations for interactive use, but do not change defaults when scripting or when piping the output to anything but a terminal.

You can use either

[log]
     decorate=auto

in the git config files, or the "--decorate=auto" command line option to choose this behavior.


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接