Git 别名参数补全在 Zsh 中不起作用



对于某些特定的 git 命令(涉及远程和分支的命令),我在 Zsh 自动完成时遇到了问题,但仅在使用别名时。

下面是一个带有push的示例:

$ git push o<TAB>rigin m<TAB>aster  # tab completion works
$ git config --global alias.ps push # set a `ps` alias for `push`
$ git ps o<TAB>rigin m<TAB>         # tab completion doesn't work for "master"

同样的问题也发生在pullfetch

我的.zshrc可以在这里找到,但我认为它不相关,因为我能够在不使用它的情况下重现问题(只需使用 autoload -U compinit && compinit 启用自动完成)。

我正在运行具有以下软件版本的OSX 10.9(它们都通过brew安装):

$ zsh --version
zsh 5.0.2 (x86_64-apple-darwin13.0.0)
$ git --version
git version 1.8.4.2

自从我进行了OSX 10.9全新安装以来,出现了此问题。所以我认为它来自 Zsh 或 Git 的最新更新。

也许你应该使用 Git 的正式完成 zsh:

https://git.kernel.org/cgit/git/git.git/tree/contrib/completion/git-completion.zsh

问题来自 Bash 和 Zsh 的 Git 完成中的一个错误。 @felipec花时间修复它。谢谢,它现在就像一个魅力!

最新更新