git - 尝试自动完成 `git stash drop` 会产生错误输出

标签 git ubuntu

每当我在输入 git stash drop 后按 Tab 键时,我收到以下错误消息(连续输出三次):

_arguments:comparguments:325: invalid argument: _git-notes
_git-stash:88: command not found: (-q --quiet)-q[suppress all output]

实际的存储删除仍然有效,但是在选择之前必须先列出我的存储是一件麻烦事。

我尝试卸载并重新安装 git,但无济于事。

如果有帮助,我最近从 19.10 升级到 Ubuntu 20.04,我不记得这个错误曾经出现在以前的操作系统版本中。

最佳答案

我在这里找到了一个临时解决方案(直到 Ubuntu 获得带有修复的更高版本的 zsh):
https://github.com/ohmyzsh/ohmyzsh/issues/9264
这个 github 问题引用了修复它的 zsh 提交:https://github.com/zsh-users/zsh/commit/754658aff38e1bdf487c58bec6174cbecd019d11
所以 - 从那些地方你可以这样做来修复它:

  • 运行这个找到你需要编辑的文件:ls -l ${^fpath}/_git(N)
  • 编辑文件,对我来说是:vim /usr/share/zsh/functions/Completion/Unix/_git
  • 上线1812
  • _arguments -S $endopt \_git-notes 更改至_arguments -S $endopt \


  • 关闭并重新打开您的 zsh 终端。
  • gstd命令现在应该可以正常工作而不会收到错误。几个月前我这样做了,从那以后一直很好。不得不在另一台机器上做这就是为什么我最终再次寻找这个解决方案。以为我会在这里发帖以帮助自己(和其他所有人)的 future !

    关于git - 尝试自动完成 `git stash drop` 会产生错误输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61797642/

    相关文章:

    一次性使用用户名密码认证的Git clone

    git - 为什么 git 树对象不以与提交和标签相同的方式对 SHA-1 哈希进行编码?

    Git Azure 部署缺少内容目录中的文件(MVC4 项目)

    windows - Docker 运行总是卡住或 WSL Ubuntu 发行版在等待生命周期服务器时停止

    java ubuntu 添加到上面板

    python - docker streamlink 打开一个流但立即关闭它

    git - 来自多个 Git 存储库的 Visual Studio 解决方案

    ruby-on-rails - 如何在客户端(浏览器、iPhone、Android)之间共享代码

    c - 64 位 Ubuntu 上的利用

    bash - 用破折号检查字符串的子字符串