git bad config при отправке команд

Обе эти команды работают из командной строки

git symbolic-ref HEAD | sed -e "s#^refs/heads/##"

а также

git branch | grep \* | cut -d ' ' -f2 

При добавлении в gitconfig под [псевдоним]

thisbranch = !git symbolic-ref HEAD | sed -e "s#^refs/heads/##"
thisbranch2 = !git branch | grep \* | cut -d ' ' -f2

я получил fatal: bad config line 16 in file /Users/<me>/.gitconfig которая является второй строкой. Из-за этого ответа моей первоначальной проблемой было получение псевдонима текущей ветки. Поэтому мне в основном любопытно, почему оба работают в командной строке, но только 1 может работать в конфиге. Я предполагаю, что это ' ' нужно сбежать, но это только предположение.

1 ответ

Решение

Ваше использование одинарных кавычек выглядит хорошо.

Проблема в том, что вы передаете шаблонный аргумент grepвызывает синтаксическую ошибку.

Попробуйте дважды экранировать шаблон:

thisbranch2 = !git branch | grep \\* | cut -d ' ' -f2
Другие вопросы по тегам