Git Bash (mintty) est extrêmement lent sur Windows 10 OS

j'ai installé Git sur mon Windows 10 il y a quelques mois. Il a bien fonctionné pendant un certain temps. Mais maintenant, c'est si lent.

la commande git status prend 7 secondes pour s'exécuter, et git stash prend plusieurs minutes pour se cacher (même s'il n'y a rien à cacher). Aussi, je tiens à souligner que git status imprime le résultat instantanément, mais je ne peux pas entrer une nouvelle commande pendant quelques secondes, comme indiqué dans l'image ci-dessous.

The screen is stuck like this for 7 seconds

j'ai essayé de surfer sur le net pour trouver des solutions à mon problème comme ce , ce , etc. mais aucun d'entre eux ont travaillé.

P.S.: j'utilise Windows Defender antivirus, et il est pas faisant mon Bash lent. Aussi, cmd prend plus de temps pour exécuter les commandes git tandis que git bash prend plus de temps pour exécuter n'importe quelle commande.


Maj: Je suis passé à Ubuntu maintenant et par conséquent, je n'utilise pas Windows actuellement. Donc, il n'y a aucun moyen que je puisse vérifier si l'une des solutions fonctionne pour moi. J'accepte la réponse de @pschild puisqu'elle a le plus grand nombre de notes positives et semble avoir fonctionné pour beaucoup de gens.

37
demandé sur Peter Mortensen 2017-03-19 17:55:33

8 réponses

j'ai récemment rencontré le même problème. Après avoir essayé tous les conseils de ce fil et beaucoup d'autres fils, j'ai finalement trouvé une solution ici , respectivement dans le numéro lié ici .

désactiver le pilote graphique AMD Radeon dans le gestionnaire de périphériques Windows et passer aux graphiques Intel HD intégrés a fonctionné pour moi - pour quelque raison que ce soit.

Espère que ça aide!

34
répondu pschild 2017-07-03 17:39:13

pour moi, la solution était de mettre la variable HOME dans mon répertoire utilisateur (par ce réponse ). Pour ce faire (au moins sur Windows 7):

  1. faites un clic droit sur "ordinateur" dans l'Explorateur de fichiers.
  2. Ouvrir Les Paramètres Du Système Avancé.
  3. Variables D'Environnement Ouvert
  4. sous Variables système, cliquez sur" Nouveau..."
  5. entrez "accueil" pour le nom de la variable et le chemin à votre utilisateur répertoire pour la valeur (par exemple "C:\Users\jdoe").

Voir aussi les réponses à cette question connexe .

13
répondu PaulrBear 2018-01-05 23:57:08

j'ai eu le même problème une fois et ce que j'ai trouvé est que le problème pour moi était avec __git_ps1 , fondamentalement une variable qui inclut des informations de statut comme le nom de la branche, état de tête détaché, dans le dir de git, dans un repo nu, au milieu de la cueillette de cerises ou rebasing ou de fusion.

pour accélérer votre Git bash, allez à $githome\etc\profile et commentez le si-Puis où __git_ps1 is ajouté à PS1.

quoi qu'il en soit l'information que vous commentez sont très utiles, surtout si vous êtes au début avec GIT. Voici une version plus rapide, trouvé sur internet et utilisé par moi tout à fait avec succès sur mon système:

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

PS1='\[3]0;$MSYSTEM:\w"151900920"7                                                                
3[32m\]\u@\h \[3[33m\w$(fast_git_ps1)3[0m\]                                         
$ '     
4
répondu rakwaht 2017-03-31 14:16:35

en réponse à Lafexlos 's bounty :

désactiver le pilote AMD Radeon a résolu mon problème, mais je me demande vraiment pourquoi.

Aimerais avoir une réponse qui se concentre sur.

pourquoi:

1070 des rapports.

élever le Radeon l'interface graphique des paramètres et le fait de cliquer sur quelque chose en attendant l'invite bash libèrent immédiatement quelque chose et le font apparaître - bizarre.

AMD a été contacté mais pas de réponse...

Ce rapports de projet :

mais toute la sortie graphique (terminal) doit être affichée via ces pilotes.

Ils (les pilotes) obtenir leurs crochets dans toutes les parties de la système avec des interruptions cachées et des temps morts et Dieu sait quoi. Frissonner..

numéro 1129 ajoute:

à partir de Windows 7 (peut-être Vista? la console avait la possibilité de s'afficher via DirectWrite, qui est construit sur Direct3D, qui dépend fortement des implémentations des pilotes de L'API DirectX.

comme un ancien employé de NVIDIA qui a travaillé directement sur nvd3dum , nvwgf2umx et nvapi je peux vous dire que nous avons été un peu sceptique à propos de la sagesse de cette décision.

Il semble que AMD aurait dû être plus sceptique, peut-être que leur qualité de pilote aurait été meilleure.

4
répondu VonC 2018-01-22 21:38:36

Essayez de nouveau avec:

  • le dernière Git pour Windows que vous pouvez trouver, comme PortableGit-2.12.1-64-bit.7z.exe (décompressez l'archive où vous le souhaitez, pas de setup)
  • puis dans une CMD session, mettez votre PATH avec:

    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\
    
  • mettez votre HOME dans cette même CMD session

    set HOME=%USERPROFILE%
    
  • enfin, tapez bash , et voyez si une opération de gitan est toujours lente.

3
répondu VonC 2017-03-26 21:33:34

est-ce que votre chemin est plein de ferraille? Les commandes simples prenaient 20 + secondes pour moi parfois jusqu'à ce que j'enlève des choses inutiles de mon chemin.

Windows: echo %PATH%

Recherche "modifier les variables d'environnement" pour changer.

autres: echo $ PATH

2
répondu Philip Rego 2018-02-04 19:21:50

j'ai un problème similaire mais seulement quand j'ai lancé git bash en tant qu'utilisateur normal, quand j'ai commencé git bash en tant qu'administrateur toutes les commandes ont fonctionné vraiment vite.

dans mon cas, il s'est avéré que le problème était causé par l'antivirus F-Secure. J'ai ajouté le répertoire contenant git.exe à la liste des répertoires exclus (exclus de la numérisation) et il a résolu ce problème pour moi.

comment exclure l'annuaire: https://community.f-secure.com/t5/Business/Excluding-objects-from-Real-Time/ta-p/66013

1
répondu csharpfolk 2018-03-02 17:10:11

ajout d'une exclusion de procédé pour bash.exe, cmd.exe et conhost.exe dans la liste des Exclusions de Windows Defender a apparemment résolu le problème pour moi sur Windows 10 64bit.

1
répondu mark 2018-09-01 10:33:33