如何在没有源的 Git 上使用 zsh tab 补全?

如何在没有源的 Git 上使用 zsh tab 补全?

我在用桀骜哦我的zsh在 Ubuntu 18.04.2 上。现在,git安装在版本 2.20.1 上。

每当我想将本地分支推送到远程 ( origin) 时,我都会尝试在 shell 中使用制表符补全,如下所示:

git push origin fea<TAB>

选项卡补全结果如下:

git push origin origin/feature

但我不能推动origin/feature。我真正想要的是:

git push origin feature

这同样适用于git checkout.

如何配置选项卡完成以正确(?)完成远程分支 - 或者我遗漏了什么?

答案1

这可能是 git 自己的完成和 oh-my-zsh 的完成之间的冲突。

我在这里找到了一个可行的解决方案: https://www.raphael-brugier.com/blog/fix-git-completion-zsh-mac-homebrew/

因此,根据您的环境,您可能需要在 .zshrc 中禁用 git 补全:

compdef -d git

另外,升级你的 Zsh 版本似乎有帮助,因为这种问题据报道,Zsh 4.3.10 及更高版本已修复

相关内容