Этот вопрос Добавить псевдоним Git, содержащий точку с запятой показывает, что точки с запятой в команде псевдонима git требуют специальной обработки.
Но даже с двойными кавычками, которые предлагает ответ, я обнаружил, что некоторые вещи не работают.
Например.:
related = "!perl -e '$branch = qx[git rev-parse --abbrev-ref HEAD]; ($issue) = $branch =~ m[^(\d+)]; print $issue;'"
производит:
фатально: плохая строка конфигурации 23
Что не нравится git в этой команде?
\d
не является допустимой escape-последовательностью. Вы хотите, чтобы ваш псевдоним содержал обратную косую черту, за которой следует буква d, поэтому вам следует избегать самой обратной косой черты. Следующие работы:
related = "!perl -e '$branch = qx[git rev-parse --abbrev-ref HEAD]; ($issue) = $branch =~ m[^(\\d+)]; print $issue;'"
Или позвольте Git позаботиться об экранировании значений вашего псевдонима, не редактируя файл .gitconfig
вручную, а выполнив команду git config
:
git config --global alias.related '!perl -e '\''$branch = qx[git rev-parse --abbrev-ref HEAD]; ($issue) = $branch =~ m[^(\d+)]; print $issue;'\'
(это создаст ту же строку конфигурации, что и показанная выше)
не могли бы вы вставить свой файл конфигурации? Я не могу воспроизвести вашу проблему