问题描述
我已将git更新到最新版本(2.29.0),并已使用ZSH 5.8。
我曾经使用git checkout remote_br<tab>
在分支之间切换,以便即使在分支只是一个远程atm上也可以在分支之间快速切换。我已经看到git在switch / checkout recently方面进行了很多更改,问题是我在远程分支上的自动完成功能不再起作用(使用checkout或switch)。
我尝试将最新版本的contrib/completion/git-completion.zsh
添加到我的zsh中,但是仍然有问题。我在这里想念什么吗?
解决方法
最近几个小时我一直在研究这个问题,并且已经确定了回归。
回归发生在6880779。
要临时解决此问题:请用https://github.com/git/git/blob/688077910bdfbd502cb59c9c48a2af2c97d8b67b~1/contrib/completion/git-completion.bash替换您的git-completion.bash
文件(我的文件位于/usr/local/share/zsh/site-functions/git-completion.bash
)
要真正解决此问题,请对我的git PR进行投票并帮助将其合并! (https://github.com/git/git/pull/902)
,尝试以下修补程序:
--- a/git-completion.zsh
+++ b/git-completion.zsh
@@ -97,6 +97,11 @@ __gitcomp_direct ()
compadd -Q -S '' -- ${(f)1} && _ret=0
}
+__gitcomp_direct_append ()
+{
+ __gitcomp_direct "$@"
+}
+
__gitcomp_nl ()
{
emulate -L zsh
通常最好将错误报告给git mailing list,但是,我是zsh代码的维护者,这在我的fork中是最新的:git-completion。