Zsh在我的Git回购中超级慢


0

我的Zsh在我的某个Git回购中超级慢。当我谷歌“zsh git slow”时,我得到了一堆关于Git的结果 自动完成 缓慢,但自动完成不一定是我的问题;它的 一切

我尝试删除所有插件,奇怪的是,当我打开一个新shell时,根本没有做任何事情。 Zsh仍会在我的Git回购中使用Git。

我发现了这个片段 这一页

function git_prompt_info() {
  ref=$(git symbolic-ref HEAD 2> /dev/null) || return
  echo "$ZSH_THEME_GIT_PROMPT_PREFIX${ref#refs/heads/}$ZSH_THEME_GIT_PROMPT_SUFFIX"
}

这让一切都快了,但它也给了我一个看起来像这样的提示:

➜  snip git:(master

注意缺少右括号。那有些蹩脚。而且整个事情看起来像是一个我不应该做的黑客。

还有这个看起来很有希望的SU问题,但接受答案的链接已经死了。

如何让我的Zsh不要在Git回购中变慢?


你能把我们链接到你提到的SU问题吗?
slhck

另外,当事情进展缓慢时(在你的片段之前),你在提示中有什么?
studgeek

Answers:


0

并不是自动完成很慢,而是自动完成使得每个命令看起来都很慢,因为你正在等待它来源。尝试在zsh点文件中完全注释掉bash_completion。


似乎没有任何相关内容可以评论出来。
Jason Swett

0

您可以执行以下命令来完全禁用git status功能。

git config --global oh-my-zsh.hide-status 1

或者将以下行添加到您的 ~/.zshrc

DISABLE_UNTRACKED_FILES_DIRTY="true"

0

要跟踪在缓慢时调用的shell命令,可以运行: set -x 或添加到您的启动文件中。它将显示所有命令,包括负责自动完成的命令。

如果你相信一些 git 命令很慢你可以定义一些额外的变量,例如:

exports GIT_TRACE=1

要查看更多示例,请参阅: 如何调试git / git-shell相关问题?


0

我删除了 zsh-autosuggestions 作为一个插件然后它更快。就我而言,它与'git'无关。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.