我在mac环境中使用了别名,它非常有用。但是我想在使用别名的工作中进一步提高。现在我想使用别名来完成添加文件,提交和推送。所以,我创建了一个别名,但它不起作用; 这是代码
alias track="trackFunction() { git add .; git commit %@; git push}"
输出如下:
错误:pathspec'%@'与git已知的任何文件都不匹配。
所以,我希望你能指导我,因为我是所有这些工作的新手。
答案 0 :(得分:2)
当您调用别名时,您希望执行trackFunction
的内容。但你所定义的是“当我调用track时,定义函数trackFunction
”。
由于您希望别名接受参数,因此您可以使用此参数(请参阅此answer about parameters for alias):
trackFunction() { git add .; git commit "$@"; git push; }
alias track=trackFunction
但由于您已经可以为函数track
命名,因此您不需要别名,只需将函数定义放入.bashrc
或.profile
文件即可。
作为旁注,我不知道您的目标工作流程是什么,但您可能希望在git pull
之前加入git push
以避免被拒绝。
答案 1 :(得分:2)
我认为你在git commit %@
中只有一个拼写错误。它应该是$@
而不是%@
,因此您可以传递-m 'Commit message'
等参数。
我还认为这里不需要编写函数。我刚刚通过调用alias track="git add .; git commit"
在Linux机器上成功测试了track -m 'Commit message'
。