Мой 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-репо?

4 ответа4

0

Чтобы отследить команды оболочки, которые вызываются медленно, вы можете запустить: set -x или добавить в ваши файлы запуска. Он покажет вам все команды, включая ту, которая отвечает за автозаполнение.

Если вы считаете, что некоторые команды git работают медленно, вы можете определить некоторые дополнительные переменные, такие как:

exports GIT_TRACE=1

Чтобы увидеть больше примеров, смотрите: Как я могу отладить проблемы, связанные с git/git-shell?

0

Дело не в том, что автозаполнение медленное, а в том, что автозаполнение заставляет каждую команду казаться медленной, потому что вы ждете, пока она начнет работать. Попытка полностью закомментировать bash_completion в файлах zsh.

0

Вы можете выполнить следующую команду, чтобы полностью отключить функцию состояния git.

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

Или добавьте следующую строку в ваш ~/.zshrc .

DISABLE_UNTRACKED_FILES_DIRTY="true"
0

Я удалил zsh-autosuggestions как плагин, и тогда это было быстрее. В моем случае это не имело ничего общего с «git».

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .