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

1 ответ

Решение

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

t = "!git log --decorate --oneline | egrep '^[0-9a-f]+ \\(tag: ' | sed -r 's/^.+tag: ([^ ]+)[,\\)].+$/\\1/g'"
Другие вопросы по тегам