[解決済み】Windows 7 x64でGit Bashの動作が極端に遅くなる件
質問
ある小さなプロジェクトの開発で、WindowsとUbuntuの両方でGitを使い、頻繁に両者を行き来しています。問題は Git Bash が常に遅くなる。
遅いというのは
cd
を実行すると、8~25秒かかります。
git
コマンドは5秒から20秒、そして
ls
は30秒かかることもある。言うまでもなく、これでは楽しくありませんし、非生産的であることは言うまでもありません。WindowsでGitが遅いのは知っていますが、これは馬鹿げています。
私の場合、一時的にうまくいった解決策は、ネットワーク接続を無効にすることでした(下記で提案されているように)。 この回答 を起動し、再接続します。そうすると、何日かは高速に動作し続けることがありますが、いずれは必ずパフォーマンスが低下します。msysgitディスカッション・グループ、Stack Overflow、msysgit issue listなどを何週間も探し回りましたが、うまくいく解決策を見つけることができませんでした。
これまで、試したのは
- Git & プロジェクトフォルダをウイルススキャナの除外リストに追加する。
- ウイルススキャナーを完全に無効にする(Kaspersky IS 2011)
- Outlookが起動していないことを確認する(Outlook 2007)
- 他のアプリケーションをすべてシャットダウンする
- Git Bashを管理者権限で実行する
- ネットワーク接続を無効にしてGit Bashを起動し、接続を無効のままにしておきます。
- ネットワーク接続を無効にし、Git Bash を起動し、接続を再び有効にする (たまにしか動作しない)
-
実行中
git gc
- また、上記の組み合わせ
Bash補完を無効にすることに成功した人が何人かいることを読みましたが、理想的には有効にしておきたいと思います。msysgitのバージョンは1.7.3.1-preview20101002 &で、OSはWindows 7 x64です。Linuxで同じことを実行すると、予想通り、電光石火の速さです。私はLinuxだけを使いたいのですが、Windowsでも何かを動かす必要があります(特定のアプリケーションやテストなど)。
同じような問題に遭遇された方はいらっしゃいますか?もしあれば、根本的な問題と解決策を教えてください。
これはGitのリポジトリだけにとどまりませんが、参考までに、私がGitを使ってきたリポジトリは、最大で4~50ファイルというかなり小規模なものでした。
解決するには?
Gitを完全にアンインストールし、再起動(Windowsの古典的な治療法)し、Gitを再インストールすることで治ったようです。 また、残っていたbashの設定ファイル(手動で作成したもの)をすべて消去しました。 すべてが再び高速になりました。
もし何らかの理由で再インストールが不可能(あるいは望ましい)ならば、私は間違いなく、以下の項目で参照しているPS1変数を変更してみると思います。 Chris Dolanの回答 その結果、特定の操作において大幅なスピードアップを実現しました。
関連
-
[解決済み] Git で直近のローカルコミットを取り消すには?
-
[解決済み] Gitブランチをローカルやリモートで削除するには?
-
[解決済み] git pull」と「git fetch」の違いは何ですか?
-
[解決済み] コミット前に 'git add' を取り消すにはどうすればよいですか?
-
[解決済み] リモートのGitブランチをチェックアウトするには?
-
[解決済み] Git リポジトリを以前のコミットに戻すにはどうすればよいですか?
-
[解決済み] 現在のGit作業ツリーからローカル(未追跡)ファイルを削除する方法
-
[解決済み] Git で、ステージされていない変更を破棄するにはどうしたらいいですか?
-
[解決済み】"git pull" でローカルファイルを強制的に上書きするには?
-
[解決済み】ローカルのGitブランチの名前を変更するには?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】fatal: 有効なオブジェクト名ではない: 'master'
-
[解決済み】gitが「変更をコミットするか、マージする前にstashしてください」と言うのを解決するには?
-
git push reports an error ! [リモート拒否] master -> master (受信前のフックが拒否されました)
-
[解決済み] リモートの <ブランチ名> とマージするように設定されていますが、そのような参照は取得されませんでしたか?
-
[解決済み] GitHubに空のブランチを作成する
-
[解決済み] GIT_DISCOVERY_ACROSS_FILESYSTEM が設定されていない。
-
[解決済み] git commit signing failed: secret key not available.
-
[解決済み] Gitのエラー「object file ... is empty」はどうすれば直せますか?
-
[解決済み] 多くのリポジトリがある場合、SourceTreeは非常に遅くなります。
-
[解決済み] Windows 10 OSでGit Bash(mintty)が極端に遅くなる件