我正在尝试为git commit提供别名
function gcam() {
git commit -a -m $@ ;
git status
}
当我使用gcam 'something'
调用命令时,它可以正常工作,但如果消息中间有空格,则gcam 'new commit'
会显示消息Paths with -a does not make sense
我正在寻找this solution,但它对我不起作用,因为我使用的是$@
而不是$1
。为什么要使用$@
?就好像我需要向git commit传递一个额外的参数。
任何让它成功的想法?
提前致谢
答案 0 :(得分:3)
@Mat是对的:您应该双引$@
,然后引用该消息。 "$@"
扩展为参数列表,每个参数列为一个单独的单词(即,就好像每个参数都被单独引用一样):
function gcam() {
git commit -a -m "$@"
git status
}
gcam "commit message" -v
这相当于:
git commit -a -m "commit message" -v
git status