我将Git提交问题编号与GitHub问题结合使用。为了节省时间,我编写了一个bash函数来创建这样的提交消息:
git commit -m "#4 my commit message"
致电
gci 4 "my commit message"
其中4是发行号,其后是提交消息。
但是,我当前的实现方式:
alias gcm='git commit -m '
gci(){
index="${@:1}"
message="#$index ${@:2}"
gcm "$message"
}
两次产生提交消息:
$ gci 4 "my commit message"
[iss2 79d9540] #4 my commit message my commit message
1 file changed, 0 insertions(+), 0 deletions(-)
create mode 100644 h.z
是什么原因导致消息重复两次?
答案 0 :(得分:0)
${@:1}
和${@:2}
不能按预期工作,请对第一个参数使用$1
,对第二个参数使用$2
:
alias gcm='git commit -m '
gci(){
index="$1"
message="#$index $2"
gcm "$message"
}
请注意,别名在非交互式shell中不起作用。
关于${@:1}
,来自here:
$ {var:pos}
变量var从偏移量pos开始扩展。
因此,如果"$@" == "4 my commit message"
,则:
"${@:1}" == " my commit message"
"${@:2}" == "my commit message"
串联${@:1} ${@:2}
时,您会看到两次我的提交消息。