.gitconfig“错误的配置行”到期别名

时间:2019-07-10 08:06:27

标签: git

我为.gitconfig扩展了一个日常别名,该别名在命令行中起作用。命令:

git log --since '2 day ago' --author='\(MYSURNAME\)\|\(mysurname\)'

由于我是通过Bitbucket合并Pull Request并直接从命令行提交的事实,因此我可以在Git日志中以小写或大写形式找到我的名字...因此,我在上面使用了“ regex” --author开关上。无论如何,该命令在命令行上都能完美运行。如果我是全局.gitconfig中的别名命令,则会出现以下错误:

  

致命:文件中的第53行配置错误...

指向新添加的别名。我的.gitconfig

[alias]
    d = difftool
    graph = log --graph --pretty=format:'%Cgreen%h%Creset -%C(yellow) %d%Creset %s %sCgreen(%cr) %C(bold magenta)<%an>%Creset' --abbrev-commit --date=relative 
    daily = log --since '2 day ago' --author="\(MYSURNAME\)\|\(mysurname\)"

使用这种别名时是否必须执行特殊的转义?

谢谢。

1 个答案:

答案 0 :(得分:1)

当Git读取配置文件时,反斜杠(即使它们在引号内)也是转义序列引入字符。在这种情况下,反斜杠后的第二个字符是进入最终别名的字符。因此,您需要两个反斜杠才能在要运行的命令中产生一个反斜杠:

daily = log --since '2 day ago' --author="\\(MYSURNAME\\)\\|\\(mysurname\\)"

(在类似Unix的shell中,规则与.git/config文件中的规则不同,因此,不要盲目地使用同一规则进行命令行交互。)

相关问题