默认情况下启用git log参数

emm*_*mby 5 alias git-config git-log

我喜欢以下命令打印出git日志的方式:

git log --oneline --decorate --graph
Run Code Online (Sandbox Code Playgroud)

每当我使用git log时,我想将其设为默认格式.有没有办法编辑~/.gitconfig默认启用oneline,decorate和graph?

是的,我知道我可以将这些选项别名为另一个git命令别名,但我宁愿默认使用这些选项打印出来.

jub*_*0bs 7

Git 允许您默认--oneline激活、等:--decoratelogshow

git config --global format.pretty oneline
git config --global log.decorate short
Run Code Online (Sandbox Code Playgroud)

然而,截至v2.1.0--graphv2.2.2,Git默认不允许激活。解决这个问题的一种方法(改编自此 SuperUser 答案)是在文件中定义以下函数.<shell>rc

git config --global format.pretty oneline
git config --global log.decorate short
Run Code Online (Sandbox Code Playgroud)

一个警告hvd(在他的评论中指出):如果您在git和之间指定选项log,如

git() {
    if [ "$1" = "log" ]
    then
        command git log --graph "${@:2}";
    else
        command git "$@";
    fi;
}
Run Code Online (Sandbox Code Playgroud)

然后,因为第一个参数是-c且不是log,所以--oneline --decorate --graph不会使用这些标志。