Linux '的别名;吉特地下仓库';在zsh中
我想制作一个Linux '的别名;吉特地下仓库';在zsh中,linux,git,terminal,alias,zsh,Linux,Git,Terminal,Alias,Zsh,我想制作一个别名,将git存放在zsh shell中。我要删除的存储编号应该作为参数传递给我的函数调用 我在下面试过,但失败了- function gd() { if [ -n "$1" ] then git stash drop "$1" else echo 'Enter stash no to drop' fi } 这给了我以下的错误- fatal: ambiguous argument '0': unknown revisi
别名
,将git存放在zsh shell中。我要删除的存储编号应该作为参数传递给我的函数调用
我在下面试过,但失败了-
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>...]'
fatal:参数“0”不明确:未知修订或路径不在工作树中。
使用“---”将路径与修订分开,如下所示:
'吉特[…]-[…]'
似乎我没有正确地传递参数,它被视为字符串
我怎样才能做到这一点 试试看
git stash drop $1
但是,正如所评论的,zsh不会单独完成任何类型的转换
因此,请确保使用最新的Git:
- 仅支持使用数字(然后解释为
)的stash@{n}
git stash
- 有一个与git stash及其索引相关的bug
- 仅支持使用数字(然后解释为
)的stash@{n}
git stash
- 有一个与git stash及其索引相关的bug
别名,那么定义它的命令将是
alias gd='git stash drop'
除此之外,函数定义很好,尽管不需要引用变量。不过,这样做也无妨
错误消息表示您提供的存储不存在。使用
git stash list
获取可用存储的列表。@shantautomar:您不定义任何别名,这在一开始就不是一件坏事,因为函数更灵活,但是如果您真的想拥有一个别名,定义它的命令将是
alias gd='git stash drop'
除此之外,函数定义很好,尽管不需要引用变量。不过,这样做也无妨
错误消息表示您提供的存储不存在。使用
git stash list
获取可用存储的列表。$1
是一个字符串。如果分支名称包含shell可能在git
看到它之前处理的字符,则必须使用引号;它不做任何类型的转换。@chepner:在这种情况下不做,因为我们有Zsh。即使$1包含通配符,如果没有引号,它们也不会被计算。这取决于您的shell设置。但是,无论哪种方式,不引用都不会使shell将其视为整数,因为即使zsh
也没有整数数据类型:它都是字符串。$1
无论哪种方式都是字符串。如果分支名称包含shell可能在git
看到它之前处理的字符,则必须使用引号;它不做任何类型的转换。@chepner:在这种情况下不做,因为我们有Zsh。即使$1包含通配符,如果没有引号,它们也不会被计算。这取决于您的shell设置。不管怎样,不引用都不会使shell将其视为整数,因为即使zsh
也没有整数数据类型:它都是字符串。您实际上是如何调用gd
?您实际上是如何调用gd
?