我的 Git 儲存庫中的 Zsh 超級慢

我的 Git 儲存庫中的 Zsh 超級慢

我的 Zsh 在我的某個 Git 儲存庫中非常慢。當我用 Google 搜尋「zsh git Slow」時,我得到了一堆關於 Git 的結果自動完成速度很慢,但自動完成不一定是我的問題;它是一切

我嘗試刪除所有插件,但奇怪的是,當我打開新外殼時,它根本沒有做任何事情。 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 儲存庫中不慢?

答案1

您可以執行以下命令來完全停用 git status 功能。

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

或將以下行加到您的~/.zshrc.

DISABLE_UNTRACKED_FILES_DIRTY="true"

答案2

若要追蹤執行緩慢時呼叫的 shell 命令,您可以執行:set -x或新增到啟動檔案。它將向您顯示所有命令,包括負責自動完成的命令。

如果您認為某些git命令很慢,您可以定義一些額外的變量,例如:

exports GIT_TRACE=1

若要查看更多範例,請參閱:如何調試 git/git-shell 相關問題?

答案3

我已經zsh-autosuggestions作為插件刪除了,然後速度更快了。就我而言,它與 無關git

答案4

您可以嘗試使用 來確認速度緩慢的原因zprof。將其添加到您的~/.zshrc(或同等內容):

zmodload zsh/zprof

然後在每個命令之後運行zprof以獲取摘要。就我而言,這是一個完全不相關的插件導致了緩慢速度。

相關內容