GitConfig: неверная конфигурация для команды оболочки

Я пытаюсь настроить псевдоним, так как у меня их много.

Почему-то этот не работает. Есть идеи?

[alias]
t = "!git log --decorate --oneline | egrep '^[0-9a-f]+ \(tag: ' | sed -r 's/^.+tag: ([^ ]+)[,\)].+$/\1/g'"

Команда отлично работает сама по себе:

$ git log --decorate --oneline | egrep '^[0-9a-f]+ \(tag: ' | sed -r 's/^.+tag: ([^ ]+)[,\)].+$/\1/g'
1.0.0
0.9.0
...
$ git t
fatal: bad config file line 28 in /Users/alanschneider/.gitconfig

person shkschneider    schedule 27.11.2012    source источник


Ответы (1)


Символы обратной косой черты ("\") читаются самим git в вашей конфигурации. Просто экранируйте их второй обратной косой чертой, и это сработает:

t = "!git log --decorate --oneline | egrep '^[0-9a-f]+ \\(tag: ' | sed -r 's/^.+tag: ([^ ]+)[,\\)].+$/\\1/g'"
person jbowes    schedule 27.11.2012
comment
Снэп, что это было. Я сделал, но забыл \\( перед tag. Спасибо - person shkschneider; 27.11.2012