web-dev-qa-db-ja.com

Git Bash(mintty)はWindows 10 OSで非常に遅い

数か月前にWindows 10にGitをインストールしました。それはしばらくの間うまくいきました。しかし、現在、実行は非常に遅くなっています。

git statusコマンドの実行には7秒かかり、git stashコマンドの実行には数分かかりますスタッシング(スタッシュするものがなくても)。また、git statusは結果を即座に出力しますが、下の画像に示すように、数秒間新しいコマンドを入力することはできません。

The screen is stuck like this for 7 seconds

thisthis などの問題の解決策を探すためにネットサーフィンを試みましたが、これらのどれも機能しませんでした。

PS:Windows Defenderアンチウイルスを使用していますが、ではなく Bashを遅くします。また、cmdgitコマンドの実行に時間がかかりますが、git bashコマンドの実行に時間がかかります。


更新:Ubuntuに切り替えたため、現在Windowsを使用していません。だから、解決策のいずれかが私のために働くかどうかを確認する方法はありません。 @pschildが提供する回答を受け入れています。これは、最も多くの賛成票があり、多くの人々のために働いたようです。

55
Rohan Bhatia

最近、まったく同じ問題に遭遇しました。このスレッドと他の多くのスレッドからのすべてのアドバイスを試した後、リンクされた問題 here でそれぞれ解決策 here を見つけました。

WindowsデバイスマネージャーでAMD Radeonグラフィックスドライバーを無効化および統合Intel HDグラフィックスへの切り替え機能しました-何らかの理由で。

お役に立てば幸いです!

私の場合、sh.exe Shellはbash.exeよりもかなり高速であることがわかりました。 sh.exeはgit_install_dir/binにあります。

統合されたIntel HDグラフィックスしか持っていないのに、これがこの問題を抱えている人々の助けになることを願っています!

49
pschild

私にとって、解決策は、HOME変数をユーザーディレクトリに設定することでした(これにより answer )。これを行うには(少なくともWindows 7で):

  1. ファイルエクスプローラーで「コンピューター」を右クリックします。
  2. システムの詳細設定を開きます。
  3. 環境変数を開く
  4. [システム変数]で、[新規...]をクリックします
  5. 変数名に「HOME」を入力し、値にユーザーディレクトリへのパスを入力します(「C:\ Users\jdoe」など)。

この関連する質問 への回答も参照してください。

27
PaulrBear

もう一度お試しください:

  • 最新のGit for WindowsPortableGit-2.12.1-64-bit.7z.exe のように見つけることができます(どこでも好きな場所に解凍し、セットアップは不要です)
  • 次に、CMDセッションで、PATHを次のように設定します。

    set G=c:\path\to\latest\git
    set PATH=%G%\bin;%G%\usr\bin;%G%\mingw64\bin
    set PATH=%PATH%;C:\windows\system32;C:\windows\System32\Wbem;C:\windows\System32\WindowsPowerShell\v1.0\
    
  • 同じHOMEセッションでCMDを設定します

    set HOME=%USERPROFILE%
    
  • 最後に、bashと入力し、Git操作がまだ遅いかどうかを確認します。

7
VonC

私は同じ問題を一度経験しましたが、私が見つけた問題は、__git_ps1、基本的にブランチ名、切り離されたヘッド状態、git dir、裸のレポ、チェリーピッキングまたはリベースまたはマージの途中。

Git bashを高速化するには、$ GitHome\etc\profileに移動して、PS1に追加された__git_ps1 isのif-thenをコメントアウトします。

とにかく、コメントアウトしている情報は、GITを初めて使用する場合に特に便利です。これはインターネット上で発見され、私のシステムで非常にうまく使用されている、より高速なバージョンです。

fast_git_ps1 ()                                                                              
{                                                                                            
    printf -- "$(git branch 2>/dev/null | grep -e '\* ' | sed 's/^..\(.*\)/ {\1} /')"    
}                                                                                            

PS1='\[\033]0;$MSYSTEM:\w\007                                                                
\033[32m\]\u@\h \[\033[33m\w$(fast_git_ps1)\033[0m\]                                         
$ '     
5
rakwaht

Lafexlosバウンティ への応答:

AMD Radeonドライバーを無効にすることで問題は解決しましたが、なぜそうなのか本当に疑問に思っています。
それに焦点を当てた答えをいただければ幸いです。

理由について:

問題107 レポート。

Radeon設定GUIを表示して、bashプロンプトを待っている間に何かをクリックすると、すぐに何かが解放されて表示されます-奇妙です。

AMDに連絡しましたが、応答がありません...

この プロジェクトレポート

ただし、グラフィック(端末)出力はすべて、これらのドライバーを介して表示する必要があります。
彼ら(ドライバー)は、隠された割り込みとタイムアウトでシステムのすべての部分にフックを取得し、良さは何を知っています。震え..

問題1129 追加:

Windows 7(おそらくVista)から、コンソールはDirectWriteを介して表示できるようになりました。DirectWriteはDirect3Dの上に構築され、DirectX APIのドライバー実装に大きく依存しています。

nvd3dumnvwgf2umx、およびnvapiに直接取り組んだ元NVIDIA従業員として、この決定の知恵にかなり懐疑的だったと言えます。
AMDはより懐疑的であるように思われます。おそらく、ドライバーの品質は向上しているはずです。

5
VonC

Windows 7とWindow 10でも同じ問題が発生しましたが、git bashを使用していると、実行するコマンドの実行にかなりの時間がかかります。最後に、多くの重大な試行錯誤の後、問題は私のgit bash exeを実行していないことが原因であることを発見しましたas administrator

手順

  1. Git bash exeを右クリックします。
  2. 「管理者として実行」をクリックします
  3. cd/c /などのコマンドを入力します

お役に立てれば!!!!

3
Pramod C V

PATHはジャンクでいっぱいですか? PATHから不要なものを削除するまで、単純なコマンドは20秒以上かかっていました。

Windows:エコー%PATH%

変更するには、「環境変数の編集」を検索します。

その他:echo $ PATH

2
Philip Rego

Windows Defenderの除外リストにbash.exe、cmd.exe、conhost.exeのプロセス除外を追加すると、Windows 10 64ビットでの問題が明らかに解決されました。

1
mark

同様の問題がありますが、git bashを通常のユーザーとして実行したとき、管理者としてgit bashを起動したときのみ、すべてのコマンドが非常に高速に実行されました。

私の場合、問題の原因はF-Secureアンチウイルスであることが判明しました。 git.exeを含むディレクトリを除外ディレクトリのリストに追加し(スキャンから除外)、この問題を解決しました。

ディレクトリを除外する方法: https://community.f-secure.com/t5/Business/Exexcept-objects-from-Real-Time/ta-p/6601

1
csharpfolk

免責事項:修正ではありませんが、簡単な回避策

コンピューターが更新された後の何らかの理由で、コンピューターにGit bashがなかったため、新しい2.19.2.windows.1を再ダウンロードする必要があり、5〜7秒かかったすべての実行で同じ問題が発生しました。

すべてのリンクを調べてグラフィックスドライバーを無効にする時間はありませんでした。しかし、GitHubを使用してコンピューターにGit Shellをインストールし、それを(Windows PowerShell)引き上げて、そこで必要なすべてをすぐに実行できました。

0
kdo53