为什么此格式字符串在.gitconfig中停止工作

时间:2016-05-11 20:21:44

标签: git

考虑使用格式字符串的log命令: git log --date=short --pretty=format:"%ad %Cblue[%an]"。它向我显示了提交作者的列表。

如果将其放在.gitconfig文件中以便定义别名,它将完全停止工作:

[alias]
log-author = log --date=short --pretty=format:"%ad %Cblue[%an]"

git log-author在我的回购中绝对没有显示任何内容。为什么会这样?

1 个答案:

答案 0 :(得分:1)

我会避免直接修改.gitconfig。对于git的配置文件,转义非法字符的规则并不总是清楚的。相反,在命令周围使用带有单引号的git config --add alias.<alias name>,以便shell将它作为单个参数传递给git config命令(如果您使用的是POSIX样式的shell)。类似的东西:

git config --global --add alias.log-author 'log --date=short --pretty=format:"%ad %Cblue[%an]"'

如果您感到好奇,请~/.gitconfiggit完成适当的逃避后,查看log-author = log --date=short --pretty=format:\"%ad %Cblue[%an]\" 。当我查看文件时,我的行显示为:

TVR

这似乎按预期工作,打印日期,然后用蓝色打印作者名称(我认为这是你的意图)。