0

我正在尝试创建一个别名来添加我的更改,并在之后提交它们。提交消息必须以分支名称为前缀。该消息应类似于:

“[BRANCH-123] 消息在这里”

我的分支以“bugfix/”或“feature/”之类的子树为前缀,我希望将它们从消息中删除。到目前为止,我有:

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

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

但是,“某事”命令显示“错误替换”。

4

1 回答 1

1

参数替换需要一个变量名来操作,而不是一个值。

因此,您不能运行:

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

相反,您需要运行:

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

因此:

something = "!f() { local branch; branch=$(git branch-name); git add -A && git commit -m \"[${branch#*/}] $1\"; }; f"
于 2017-09-28T14:54:16.867 回答