我有这个功能,让我更轻松地推送到git。它可以在没有参数的情况下推送,但是当我将参数传递给函数时,我得到$_POST['...']
。据我所知,我正在正确地调用该函数。
-bash: parameter: command not found
当我使用function gitPush {
if ($1)
then
if ($2)
then
git push $2 $1
else
git push origin $1
fi
else
git push origin master
fi
}
调用它时效果很好,但是gitPush
不起作用。
我想知道我做错了什么以及如何解决它。
我不知道它是否会影响函数的执行(期望不会),但我使用的是Putty
答案 0 :(得分:4)
Sub
没有做你认为它做的事情 - 它试图在子shell中执行存储在第一个参数中的命令。
要测试是否存在参数,可以使用以下命令:
($1)
或者只是简单地计算参数,您可以使用以下内容:
if [[ -n $1 ]]
答案 1 :(得分:3)
我想你可以用以下方式缩短这个时间:
function gitPush {
local remote=${2:-origin}
local branch=${1:-master}
git push "${remote}" "${branch}"
}
但总而言之,这可能不是你想要使用的东西。
您可以添加.gitconfig
中的:
[push]
default = tracking
如果你不提供参数,那么你将总是推送到当前分支的被跟踪遥控器。