[英]Alias for 'git stash drop' in zsh
我想创建一个alias
以在 zsh shell 中删除 git stash。 藏匿处没有。 我想删除的应该作为参数传递给我的函数调用。
我在下面尝试过,但它失败了 -
function gd() {
if [ -n "$1" ]
then
git stash drop "$1"
else
echo 'Enter stash no to drop'
fi
}
它给了我以下错误 -
fatal: ambiguous argument '0': unknown revision or path not in the working tree.
Use '--' to separate paths from revisions, like this:
'git <command> [<revision>...] -- [<file>...]'
似乎我没有正确传递参数,它被视为字符串。
我怎样才能使这项工作?
@ShantanuTomar :您没有定义任何别名,这首先不是一件坏事,因为无论如何函数更灵活,但是如果您真的想要alias
,则定义它的命令将是
alias gd='git stash drop'
除此之外,您的函数定义很好,尽管您不需要引用变量。 不过这样做也无妨。
错误消息表明您提供的存储不存在。 用
git stash list
获取可用存储的列表。
尝试
git stash drop $1
但是,正如所评论的,zsh 不会单独进行任何类型的转换。
因此,请确保使用足够新的 Git:
git stash
(然后解释为stash@{n}
)git stash
及其索引相关的错误,已在 Git 2.23 中修复
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.