Git选项卡完成停止在远程分支上工作

问题描述

我已将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

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...