在git docs中它说
git checkout<分支>
你可以省略<分支>,在这种情况下 命令退化为"检查当前分支",这是一个 赞美无操作与相当昂贵的副作用,只显示 跟踪当前分支的信息(如果存在)。
我想更改此默认行为,以便在没有参数的情况下检出master而不是当前分支。
替代解决方案,如果不可能
我目前在bash个人资料中有以下内容:
alias gco='git checkout'
__git_complete gco _git_checkout
如何将此更改为一个函数,以便在没有参数的情况下检出master,否则使用上述行为......
gco()
{
if [ $# -eq 0 ]
git checkout master
else
# autocomplete as above and alias to just git checkout?
fi
}
答案 0 :(得分:2)
function gco(){
if [ -z "$1" ]; then
git checkout master
else
git checkout "$1"
fi
}
结帐Bash Comparison Operators和Functions。
正如评论中所述,高级替代方案涉及Bash Parameter Substitution和Internal Variables。
gco() { git checkout "${@-master}";
无论您选择哪种方式,请务必了解它,以便您可以向他人解释并根据需要进行更改。