Сообщение анализа псевдонима Git

Я пытаюсь создать псевдоним для добавления своих изменений и их фиксации после. Сообщение фиксации должно начинаться с имени ветки. Сообщение должно выглядеть примерно так:

"[BRANCH-123] Сообщение здесь"

Мои ветки имеют префикс поддерева, например «исправление/» или «функция/», и я хочу, чтобы они были удалены из сообщения. Пока у меня есть:

branch-name = "!git rev-parse --abbrev-ref HEAD"

something = "!f() { git add -A && git commit -m \"[${$(git branch-name)#*/}] $1\"; }; f"

Однако команда «что-то» говорит «Плохая замена».


person Cake    schedule 28.09.2017    source источник


Ответы (1)


Подстановка параметра использует для работы имя переменной, а не значение.

Таким образом, вы не можете запустить:

echo "${$(somecommand)##*/}"

вместо этого вам нужно запустить:

var=$(somecommand)
echo "${var##*/}"

Таким образом:

something = "!f() { local branch; branch=$(git branch-name); git add -A && git commit -m \"[${branch#*/}] $1\"; }; f"
person Community    schedule 28.09.2017
comment
Вики-сообщество помечено флажком, чтобы избежать сбора репутации из ответа на обман. - person Charles Duffy; 28.09.2017
comment
Идеальный! Именно то, что мне было нужно :) - person Cake; 28.09.2017