web-dev-qa-db-ja.com

git対応プロンプトを使用してgitコマンドを実行すると、しばらくしてシェルが遅くなるのはなぜですか?

私は git-aware-Prompt をUbuntu 15.4の.bash_profileで次のように使用しています:

export GITAWAREPROMPT=~/.bash/git-aware-Prompt
source $GITAWAREPROMPT/main.sh

メインリポジトリディレクトリの1つにいると、プロンプトでgitブランチがうまく表示されます。ただし、数日後(ボックスを頻繁に再起動しません)、コマンドを実行してからプロンプトが表示されるまでに時間がかかります。

特に、git add fooなどのコマンドを実行するとき。プロンプトの次の行が表示されるまでに1秒以上かかります。新しいターミナルウィンドウを開いても、まだ遅いです。

別のgitリポジトリに移動すると、これは起こりません。 gitのないディレクトリでも問題ありません。

Git-aware-Promptに関連しているのではなく、リポジトリに関連していると思います。私が知らない奇妙なキャッシュがあるかもしれません。

これを再び速くするために何ができますか?

4
simbabque

gitが遅い理由 をデバッグできます。

Gitのパフォーマンスを改善する方法がいくつかあります。

  • Git parallel index preloadを有効にします。 git config --global core.preloadindex true
  • .gitフォルダー内のファイルの数を最小限にします。 git config --global gc.auto 256
  • Gitガベージコレクターgit gcを実行します。
  • 追跡されていないファイルを削除するgit clean -xfgit clean -xfnをドライランに使用して、すべてが正常であることを確認します。
4
Miguelos