zsh git 自动完成:__git_find_on_cmdline 错误

Rai*_*ere 2 git zsh

我试图让 git 自动完成与 zsh 一起使用,但遇到了一个奇怪的错误(即使自动完成似乎成功完成):

\n

安装:

\n
mkdir -p ~/.zsh\ncd ~/.zsh\ncurl -o git-completion.bash https://raw.githubusercontent.com/git/git/master/contrib/completion/git-completion.bash\ncurl -o _git https://raw.githubusercontent.com/git/git/master/contrib/completion/git-completion.zsh\n
Run Code Online (Sandbox Code Playgroud)\n

添加到~/.zshrc

\n
zstyle \':completion:*:*:git:*\' script ~/.zsh/git-completion.bash\nfpath=(~/.zsh $fpath)\n\nautoload -Uz compinit && compinit\n
Run Code Online (Sandbox Code Playgroud)\n

我打开一个新的 shell 并运行git checkout+“ty”+ tab,我希望它能够使用“typescript”自动完成,没有错误:

\n
raine[npm-check-updates]% gc ty__git_find_on_cmdline:[:7: unknown condition: -lt                                    \xe2\x9c\x93\n__git_find_on_cmdline:[:7: unknown condition: -lt\n__git_find_on_cmdline:[:7: unknown condition: -lt\npescript\n
Run Code Online (Sandbox Code Playgroud)\n

它会自动完成“打字稿”,但中间有一个错误,就在我点击选项卡的地方。是什么原因造成的?我该如何让它消失?

\n

Mar*_*ert 7

Zsh 附带了出色的开箱即用的 Git 补全功能。把你发布的所有东西都扔掉,除了这个:

autoload -Uz compinit
compinit
Run Code Online (Sandbox Code Playgroud)

然后它就会工作得很好。