为了方便将代码上传到github,我创建了一个sh脚本
#commit.sh
git add .
git commit -m $1
git push origin master
但是当我通过以下方式运行它时./commit.sh "comment1 comment2 comment3"
,我收到以下错误:
error: pathspec 'comment2' did not match any file(s) known to git.
error: pathspec 'comment3' did not match any file(s) known to git.
出了什么问题以及我该如何让它工作?
答案1
总是引用你的变量!将其改为
git commit -m "$1"
进而
./commit.sh "comment1 comment2 comment3"
将工作。
答案2
您可以将多个命令组合在一行中。
git add . && git commit -m "Your commit message" && git push origin master
这行代码非常适合用作命令:
gitpush()
{
git add . && git commit -m "$1" && git push origin master
}
如果将该命令放在.bash_aliases
文件中,则可以按如下方式使用它:
gitpush "finally fixed that long-standing bug"
只有每一步都执行成功,这个命令才会起作用。