1. ホーム
  2. git

[解決済み] oh-my-zsh が遅い、ただし特定の Git リポジトリのみで遅い

2022-04-26 08:20:01

質問

最近Zshを使い始めたのですが、すごいですね。残念なことに、私がメインと考えるプロジェクトでは、すべてが遅いのです。どういうことかというと、コマンドを実行するたびに ls 例えば、コマンドを実行してから、再びターミナルを使えるようになるまで、5秒ほどの遅れがあります。

この1つのレポで何が違っていて、Zshがこんなに遅くなるのでしょうか?私がZshを使い始める前には何の問題もなかったので、Zsh特有のものだと思います。をやってみました。 git clean が、顕著な違いはありませんでした。

私はMac OS Xを使っているのですが、関係ありますか?

更新しました。 のこの行が判明しました。 .zshenv が原因で遅くなっていました。

[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm" # Load RVM function

この行をコメントすると、3秒くらいかかっていたのが1秒くらいになります。残念ながら、私のプロジェクトの多くはRVMを使用しているので、この行は必要です。どうしたらいいんだろう?

更新情報2 : これは特にoh-my-zshのことだと思われます。もし私が ~/.oh-my-zsh/oh-my-zsh.sh 問題ありません。

どのように解決するのですか?

git の設定にこれを追加すれば、zsh がステータスをチェックすることはなくなります。

git config --add oh-my-zsh.hide-status 1
git config --add oh-my-zsh.hide-dirty 1


説明

には、2つの中心的なgit関数があります。 lib/git.zsh :

  • git_prompt_info()
  • parse_git_dirty()

各メソッドには、それを無効にするための git config スイッチがあります。

  • oh-my-zsh.hide-status
  • oh-my-zsh.hide-dirty

テーマによっては、独自のgitクエリを作成し、時には これらのフラグを無視する .