Git Bash (mintty) очень медленно в ОС Windows 10

Я установил Git на моей Windows 10 пару месяцев назад. Некоторое время это работало нормально. Но сейчас все идет так медленно.

на принимает 7 секунд выполнить, и git stash принимает минут для хранения (даже если нечего скрывать). Кроме того, я хотел бы отметить, что git status печатает результат мгновенно, но я не могу ввести новую команду в течение нескольких секунд, как показано на рисунке под.

The screen is stuck like this for 7 seconds

Я пробовал серфинг в сети для решения моей проблемы, как этой, этой, etc. но ничего из этого не сработало.

П. С.: Я использую антивирус Защитника Windows, и это не делая мой удар медленным. Кроме того,cmd требуется больше времени для выполнения git команд ГИТ Баш занимает больше времени для выполнения любых команда.


обновление: я переключился на Ubuntu сейчас, и поэтому я не использую Windows в настоящее время. Таким образом, я не могу проверить, работает ли какое-либо из решений для меня. Я принимаю ответ, предоставленный @pschild, так как он имеет наибольшее количество upvotes и, похоже, работал для многих людей.

8 ответов


недавно я столкнулся с той же проблемой. Попробовав все советы из этого потока и многих других потоков, я, наконец, нашел решение здесь, соответственно в связанной проблеме здесь.

отключение графического драйвера AMD Radeon в диспетчере устройств Windows и переход на интегрированную графику Intel HD работал для меня - по какой причине.

надеюсь, что это поможет!


для меня решением было установить домашнюю переменную в мой каталог пользователя (за это ответ). Для этого (по крайней мере на Windows 7):

  1. правой кнопкой на "компьютер" в проводнике.
  2. Открыть Дополнительные Настройки Системы.
  3. Открываем Переменные Среды
  4. в разделе системные переменные нажмите "Создать"..."
  5. введите "HOME" для имени переменной и пути к вашему пользователю каталог для значения (например "C:\Users\jdoe").

см. также ответы на этот вопрос.


у меня была такая же проблема один раз, и я обнаружил, что проблема для меня была с __git_ps1, в основном переменная, которая включает в себя имя ветви Status informationlike, отдельное головное состояние, в Git dir, в голом РЕПО, в середине сбора вишни или перебазирования или слияния.

чтобы ускорить ваш Git bash, перейдите в $GitHome\etc\profile и прокомментируйте if-then where __git_ps1 is добавлено в PS1.

в любом случае информация, которую вы комментируете не совсем полезно, особенно если вы находитесь в начале с GIT. Вот более быстрая версия, найденная в интернете и используемая мной довольно успешно в моей системе:

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

PS1='\[3]0;$MSYSTEM:\w7                                                                
3[32m\]\u@\h \[3[33m\w$(fast_git_ps1)3[0m\]                                         
$ '     

В ответ Lafexlos ' s награда:

отключение драйвера AMD Radeon решило мою проблему, но мне действительно интересно, почему часть.
Был бы признателен за ответ, который фокусируется на этом.

почему:

вопрос 1070 отчеты.

поднимая настройки Radeon GUI и нажав на что-то во время ожидания приглашения bash немедленно выпускает что-то и делает его появляются - странно.

С AMD связались, но ответа нет...

этой отчеты по проектам:

но весь графический (терминальный) вывод должен отображаться через эти драйверы.
Они (водители) получают свои крючки во все части системы со скрытыми прерываниями, тайм-аутами и бог знает чем. Содрогается..

вопрос 1129 добавил:

начиная с Windows 7 (возможно, Vista?) консоль имела возможность отображать себя через DirectWrite, который построен поверх Direct3D, который сильно зависит от реализаций драйверов DirectX API.

как бывший сотрудник NVIDIA, который работал непосредственно на nvd3dum, nvwgf2umx и nvapi Я могу сказать вам, что мы были довольно скептически к мудрости этого решения.
Кажется, AMD должна была быть более скептической, возможно, их качество драйвера было бы лучше.


повторите попытку с помощью:

  • the последние Git для Windows вы можете найти PortableGit-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 все еще медленная.


ваш путь полон мусора? Простые команды иногда занимали для меня 20 + секунд, пока я не удалял ненужные вещи с моего пути.

Windows: echo %PATH%

Поиск "редактировать переменные среды" для изменения.

другой: echo $PATH


у меня похожая проблема, но только когда я побежал git bash как обычный пользователь, когда я начал git bash Как администратор все команды выполнялись очень быстро.

в моем случае оказалось, что проблема была вызвана F-Secure antivirus. Я добавил каталог, содержащий git.exe в список исключенных каталогов (исключенных из сканирования), и это решило эту проблему для меня.

как исключить каталог: https://community.f-secure.com/t5/Business/Excluding-objects-from-Real-Time/ta-p/66013


добавление исключения процесса для bash.exe, cmd.exe и conhost.exe в списке исключений Защитника Windows, по-видимому, решил проблему для меня на Windows 10 64bit.