Git Bash (mintty) работает очень медленно в ОС Windows 10
Я установил Git на мою Windows 10 пару месяцев назад. Некоторое время все работало нормально. Но сейчас он работает так медленно.
Выполнение команды git status
занимает 7 секунд, а git stash
занимает много минут для сохранения (даже если нечего хранить). Кроме того, я хотел бы отметить, что git status
печатает результат мгновенно, но я не могу ввести новую команду в течение нескольких секунд, как показано на рисунке ниже.
Я пытался найти в Интернете решения моей проблемы, такие как эта, эта и т.д., Но ни одна из них не сработала.
PS: я использую антивирус Windows Defender, и это не делает мой Bash медленным. Кроме того, cmd требует больше времени для выполнения команд git
то время как git bash занимает больше времени для выполнения любой команды.
Обновление: я перешел на Ubuntu и, следовательно, в настоящее время я не использую Windows. Таким образом, я не могу проверить, работает ли какое-либо из решений для меня. Я принимаю ответ, предоставленный @pschild, так как он имеет наибольшее количество голосов и, похоже, работает для многих людей.
Ответы
Ответ 1
Я недавно столкнулся с точно такой же проблемой. Перепробовав все советы из этой и многих других тем, я наконец нашел решение здесь, соответственно, в связанной проблеме здесь.
Отключение графического драйвера AMD Radeon в диспетчере устройств Windows и переключение на интегрированную графику Intel HD работало для меня - по любой причине.
Надеюсь, это поможет!
В моем случае я обнаружил, что оболочка sh.exe значительно быстрее, чем bash.exe. Вы можете найти sh.exe в git_install_dir/bin.
Надеюсь, что это помогает людям, имеющим эту проблему, только с интегрированной графикой Intel HD!
Ответ 2
Для меня решение заключалось в том, чтобы установить переменную HOME в мой каталог пользователя (за этот ответ). Для этого (по крайней мере, в Windows 7):
- Щелкните правой кнопкой мыши "Компьютер" в проводнике файлов.
- Откройте расширенные настройки системы.
- Переменные открытой среды
- В разделе "Системные переменные" нажмите "Создать...".
- Введите "HOME" для имени переменной и пути к вашему каталогу пользователя для значения (например, "C:\Users\jdoe").
См. Также ответы на этот связанный вопрос.
Ответ 3
Попробуйте еще раз с:
- последнюю
PortableGit-2.12.1-64-bit.7z.exe
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.
Ответ 4
Однажды у меня была __git_ps1
и та же проблема, и я обнаружил, что проблема для меня была с __git_ps1
, в основном переменной, включающей статус- __git_ps1
название ветки, состояние отдельной головы, в git-каталоге, в голой репо, в середине набора вишни или перезарядки или слияния.
Чтобы ускорить ваш git bash, перейдите в $ GitHome\etc\profile и закомментируйте if-then, где __git_ps1 is
добавлен в PS1.
В любом случае информация, которую вы комментируете, весьма полезна, особенно если вы начинаете с GIT. Вот более быстрая версия, найденная в Интернете и используемая мной довольно успешно в моей системе:
fast_git_ps1 ()
{
printf -- "$(git branch 2>/dev/null | grep -e '\* ' | sed 's/^..\(.*\)/ {\1} /')"
}
PS1='\[\033]0;$MSYSTEM:\w\007
\033[32m\]\[email protected]\h \[\033[33m\w$(fast_git_ps1)\033[0m\]
$ '
Ответ 5
В ответ на Lafexlos Баунти:
Отключение драйвера AMD Radeon решило мою проблему, но я действительно задаюсь вопросом, почему часть.
По достоинству оценит ответ, который будет сфокусирован на этом.
Что касается того, почему:
Выпуск 1070 отчетов.
Вывод графического интерфейса настроек Radeon и нажатие на что-то в ожидании подсказки bash немедленно высвобождает что-то и делает его видимым - странным.
AMD связалась, но ответа нет...
В этом проекте сообщается:
Но все графические (терминальные) выходы должны отображаться через эти драйверы.
Они (водители) получают свои крючки во все части системы со скрытыми прерываниями и тайм-аутами, и доброта знает, что. Вздрагивает..
В выпуске 1129 добавлено:
Начиная с Windows 7 (возможно, Vista?) Консоль имела возможность отображать себя через DirectWrite, которая строится поверх Direct3D, что сильно зависит от реализаций драйверов DirectX API.
Как бывший сотрудник NVIDIA, который работал непосредственно на nvd3dum
, nvwgf2umx
и nvapi
я могу сказать вам, что мы скептически относимся к мудрости этого решения.
Кажется, AMD должна была быть более скептичной, возможно, качество их драйверов было бы лучше.
Ответ 6
Ваша ПУТЬ полна мусора? Простые команды занимали иногда 20 секунд или больше, пока я не удалил ненужные вещи из моего PATH.
Windows: echo% PATH%
Найдите "изменить переменные среды" для изменения.
Другое: echo $ PATH
Ответ 7
У меня есть аналогичная проблема, но только когда я запускал git bash
как обычный пользователь, когда я начал git bash
в качестве администратора, все команды выполнялись очень быстро.
В моем случае выяснилось, что проблема была вызвана антивирусом F-Secure. Я добавил каталог, содержащий git.exe
в список исключенных каталогов (исключенный из сканирования) и решил эту проблему для меня.
Как исключить каталог: https://community.f-secure.com/t5/Business/Excluding-objects-from-Real-Time/ta-p/66013
Ответ 8
Добавление исключения процесса для bash.exe, cmd.exe и conhost.exe в списке исключений Windows Defender, по-видимому, решило проблему для меня на Windows 10 64bit.
Ответ 9
У меня была такая же проблема в Windows 7 и Window 10, при использовании git bash любая команда, которую я запускал, займет значительное время. В конце концов, после многих испытаний, связанных с нарушением гласности, выяснилось, что проблема связана с тем, что я не запускал мой git bash exe в качестве администратора,
меры
- Щелкните правой кнопкой мыши на git bash exe.
- нажмите "запустить как администратор"
- введите команды типа cd/c/
надеюсь это поможет!!!!
Ответ 10
Отказ от ответственности: не исправление. Но быстрое обходное решение.
По какой-то причине после моего компьютера updated-- у меня не было Git bash на моем компьютере, поэтому мне пришлось перезагрузить новый файл 2.19.2.windows.1, и у меня была такая же проблема при каждом выполнении, составляющем 5-7 секунд.
У меня не было времени изучить все ссылки и отключить графические драйверы, а что нет. Но у меня была установлена оболочка Git с Github на моем компьютере, и я вытащил ее (Windows PowerShell), и я смог запустить все, что мне нужно было немедленно.