120 votes

Git Bash (menthe) est extrêmement lent sous Windows 10

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.

L' git status commande prend 7 secondes à s'exécuter, et git stash prend plusieurs minutes pour accrocher (même si il n'y a rien à ranger). Aussi, je tiens à souligner qu' git status imprime le résultat instantanément, mais je ne peux pas entrer une nouvelle commande pour 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 des solutions à mon problème comme ceci, cela, etc. mais aucun d'entre eux ont travaillé.

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


Mise à jour: je suis passé à Ubuntu et donc, je n'utilise pas Windows actuellement. Donc, il n'y a aucun moyen que je puisse vérifier si l'une des solutions de travail pour moi. Je suis d'accepter la réponse de @pschild car il a le plus grand nombre de upvotes et semble avoir travaillé pour de nombreuses personnes.

84voto

pschild Points 1346

J'ai récemment rencontré exactement le même problème. Après avoir essayé tous les conseils de ce fil et beaucoup d'autres threads, j'ai enfin trouvé une solution ici, respectivement dans la question liée ici.

La désactivation de la carte graphique AMD Radeon pilote dans le gestionnaire de périphériques de Windows et de commutation intégrée Intel HD graphics a fonctionné pour moi - pour quelque raison que ce soit.

Espérons que ça aide!

Dans mon cas, j'ai trouvé sh.exe shell pour être nettement plus rapide que bash.exe. Vous pouvez trouver sh.exe dans git_install_dir/bin.

Espérons que cela aide les gens à avoir ce problème alors que seul le fait d'avoir intégré Intel HD graphics!

80voto

PaulrBear Points 1102

Pour moi, la solution a été de définir la variable HOME de mon répertoire de l'utilisateur (par cette réponse). Pour ce faire (au moins sur Windows 7):

  1. Cliquez-droit sur "Ordinateur" dans l'explorateur de fichiers.
  2. Ouvrez Paramètres Système Avancés.
  3. Ouvrir Les Variables D'Environnement
  4. Sous Variables Système, cliquez sur "Nouveau..."
  5. Entrez "MAISON" pour la variable nom et le chemin d'accès à votre utilisateur répertoire de la valeur (par exemple "C:\Users\jdoe").

Voir aussi les réponses à cette question.

18voto

rakwaht Points 1707

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, essentiellement une variable qui inclut le statut de informationlike nom de la branche, s'est détaché à la tête de l'état, dans le git dir, dans un nu-repo, dans le milieu de la cueillette de cerises ou la relocalisation ou la fusion.

Afin d'accélérer votre git bash, allez à $GitHome\etc\profil et commentez le si-alors où __git_ps1 is ajouté à la PS1.

De toute façon les informations que vous êtes en commentant sont très utile, notamment 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/^..\(.*\)/ {\1} /')"    
}                                                                                            

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

12voto

VonC Points 414372

En réponse à Lafexlos's bounty:

La désactivation de la carte graphique AMD Radeon pilote de résoudre mon problème mais je me demande vraiment pourquoi.
Aimerais avoir une réponse qui se concentre sur.

Pourquoi:

Question 1070 rapports.

L'éducation de la Radeon paramètres de l'interface graphique et en cliquant sur quelque chose en attendant l'invite bash immédiatement communiqués de quelque chose et le fait paraître étranges.

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

Ce projet rapports:

Mais toutes les images (terminal) de sortie doit être affichée à l'aide de ces pilotes.
Ils (les pilotes) obtenir leurs crochets dans toutes les parties du système caché les interruptions et les temps d'arrêt et de dieu sait quoi. Des frissons..

Question 1129 ajoute:

À partir de Windows 7 (peut-être Vista?) la console a la possibilité d'afficher par le biais de DirectWrite, qui est de construire au-dessus de Direct3D, qui dépend fortement de la pilote implémentations de l'API DirectX.

En tant qu'ancien NVIDIA employé 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.
Semble AMD aurait été plus sceptique, peut-être le chauffeur de leur qualité aurait été mieux.

11voto

VonC Points 414372

Essayez de nouveau avec:

  • la dernière Git pour Windows , vous pouvez trouver, comme PortableGit-2.12.1-64-bit.7z.exe (décompressez l'archive où vous le souhaitez, pas de programme d'installation)
  • puis, en CMD , régler 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\
    
  • définissez votre HOME même CMD session

    set HOME=%USERPROFILE%
    
  • Enfin, tapez bash, et de voir si tout Git opération est encore lent.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X