Note J'ai étudié la question git-is-very-very-très-slow , mais dans leur cas, la raison en était de gros fichiers binaires - alors que dans mon référentiel, il n'y a que du code PHP/JS/HTML/CSS (pas de binaires) et le fichier le plus volumineux du référentiel est d’environ 800 Ko.
J'ai changé un fichier (quelques lignes), puis git add .
et git commit -m "msg"
, puis git Push Origin master
.
Sur une autre machine, lorsque je le code git pull Origin master
, il télécharge quelques MiB de données et le calcul du delta et l’application des modifications prennent plus de 2 minutes. Quelque chose ne va pas du tout ici.
Je soupçonne que certaines opérations récentes peuvent causer ceci:
récemment, j'ai accidentellement ajouté de nombreux actifs de fournisseurs (bower_components
assets) lorsque je l'ai compris, j'ai utilisé git rm
pour les supprimer du référentiel (et bien sûr, git add
, git commit
et git Push
en amont)
C'était il y a quelques jours et les problèmes que j'ai actuellement ont commencé à se poser à peu près à cette époque.
J'ai deux questions:
Note: Je suis le seul à utiliser et pousser à ce repo.
Le problème était dans le répertoire EmberJS
app. Il contenait les répertoires node_modules
et bower_components
qui gardaient les bibliothèques tierces utilisées par GruntJS
pour créer mes actifs JS et CSS.
Chacune de celles-ci contenait de nombreux fichiers et répertoires .. considérant que l’arborescence des dépendances contenait des centaines de bibliothèques dont la taille variait du plus petit (quelques fichiers) au gros (beaucoup de fichiers).
Après avoir supprimé et ignoré ces répertoires, le référentiel git fonctionne à nouveau rapidement.
J'ai eu une expérience similaire - git pull and Push commence soudainement à fonctionner extrêmement lentement, en prenant dix minutes ou plus, à la fois sur mon Mac OSX local et sur mon serveur Linux/Apache. J'ai supprimé la copie locale du référentiel sur mon Mac, je l'ai reclonée et tout a commencé. A fait la même chose sur le serveur, et tout va bien. Je suppose que c'était en quelque sorte corrompu?
J'ai eu le même problème quand je traitais avec des milliers de petits fichiers . La chose qui a résolu ce problème pour moi a été de configurer le post-tampon dans la configuration de git repo
git config http.postBuffer 524288000
Au lieu de télécharger avec 18Ko/s, il a soudainement utilisé toute la bande passante