Git config, используя команду оболочки - PullRequest
1 голос
/ 28 января 2012

У меня есть псевдоним, который имеет короткий статус, анализирует его с помощью sed и добавляет файлы в индекс git для предположения о неизменности.

Тем не менее, проблема, кажется, проста в моем понимании экранирования одинарных кавычек в OS X bash.

irm = !sh -c 'git ignore $(git st --short -u | sed '\''/^ D/s/^ D//g'\'')'  

Это полная строка в gitconfig. Я могу выдать команду в оболочке (с sh и кавычкой), но я получаю неверный конфиг git при попытке запустить ее через git irm

Основываясь на советах ниже, я настроил это немного по-другому. Тем не менее, он все еще не работает в gitconfig. Поэтому я добавил это к своему ~/.profile

alias irm="git ignore $(git st --short | grep '^ D' | sed 's/^ D //')"

1 Ответ

1 голос
/ 28 января 2012

Вы должны иметь возможность использовать двойные кавычки, но вам придется их избегать:

irm = !sh -c 'git ignore $(git st --short -u | sed \"s/^ D//\")'

Вам не нужно выбирать строку, так как операция совпадает с выбором.Возможно, вы захотите использовать -n и p с sed, как подсказывает Крис в комментарии, если вы хотите выводить только строки, которые совпадают, и исключать любые другие.

Кроме того, поскольку шаблон привязанвам не нужен глобальный параметр.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...