J'ai googlé et trouvé de nombreuses solutions, mais aucune ne fonctionne pour moi.
J'essaye de cloner d'une machine en me connectant au serveur distant qui est dans le réseau LAN.
L'exécution de cette commande à partir d'une autre machine provoque une erreur.
Mais exécuter la commande SAME clone en utilisant git: //192.168.8.5 ... sur le serveur, c'est correct et réussi.
Des idées ?
user@USER ~
$ git clone -v git://192.168.8.5/butterfly025.git
Cloning into 'butterfly025'...
remote: Counting objects: 4846, done.
remote: Compressing objects: 100% (3256/3256), done.
fatal: read error: Invalid argument, 255.05 MiB | 1.35 MiB/s
fatal: early EOF
fatal: index-pack failed
J'ai ajouté cette configuration .gitconfig
mais pas d'aide aussi.
Utilisation de la version git 1.8.5.2.msysgit.0
[core]
compression = -1
Réponses:
Tout d'abord, désactivez la compression:
Ensuite, faisons un clone partiel pour tronquer la quantité d'informations qui descend:
Lorsque cela fonctionne, allez dans le nouveau répertoire et récupérez le reste du clone:
ou, alternativement,
Maintenant, faites une traction régulière:
Je pense qu'il y a un problème avec msysgit dans les versions 1.8.x qui exacerbe ces symptômes, donc une autre option est d'essayer avec une version antérieure de git (<= 1.8.3, je pense).
la source
git clone --depth 1 git@host:user/my_project.git
.git pull --all
ne fonctionne pas. En raison degit clone --depth 1
ne définir la plage de récupération qu'une seule branche. Nous devons donc d'abord éditer .git / config.Cette erreur peut se produire pour les besoins en mémoire de git. Vous pouvez ajouter ces lignes à votre fichier de configuration git global, qui se trouve
.gitconfig
dans$USER_HOME
, afin de résoudre ce problème.la source
remote: Enumerating objects: 43, done. remote: Counting objects: 100% (43/43), done. remote: Compressing objects: 100% (24/24), done. error: inflate returned -55/26) fatal: unpack-objects failed
finalement résolu par
git config --global core.compression 9
À partir d'un fil de discussion BitBucket:
Depuis la documentation Git:
la source
git repack
en combinaison avec cette solution et cela a fonctionné.--compression 0
n’a pas fonctionné ni tous les.gitconfig
changements suggérés ci-dessus.Comme l'a dit @ingyhere:
Clone peu profond
Tout d'abord, désactivez la compression:
Ensuite, faisons un clone partiel pour tronquer la quantité d'informations qui descend:
Lorsque cela fonctionne, allez dans le nouveau répertoire et récupérez le reste du clone:
ou, alternativement,
Maintenant, faites un pull:
Ensuite, pour résoudre le problème de votre succursale locale, seul le maître de suivi
ouvrez votre fichier de configuration git (
.git/config
) dans l'éditeur de votre choixOù il est dit:
changer la ligne
à
Faites un git fetch et git va tirer toutes vos branches distantes maintenant
la source
Dans mon cas, cela a été très utile:
Cela limitera le paiement à la branche mentionnée uniquement, accélérera donc le processus.
J'espère que cela vous aidera.
la source
J'ai essayé toutes ces commandes et aucune ne fonctionne pour moi, mais ce qui fonctionnait était de changer le git_url en http à la place ssh
si la commande clone fait:
sinon si vous tirez sur le référentiel existant, faites-le avec
j'espère que cela aide quelqu'un!
la source
https
, puis redéfinissez la télécommande surssh
.J'ai eu cette erreur lorsque git a manqué de mémoire.
Libérer de la mémoire (dans ce cas: laisser un travail de compilation se terminer) et réessayer a fonctionné pour moi.
la source
Dans mon cas, c'était un problème de connexion. J'étais connecté à un réseau wifi interne, dans lequel j'avais un accès limité aux ressources. C'était laisser git faire le fetch mais à un certain moment, il s'est écrasé. Cela signifie que cela peut être un problème de connexion réseau. Vérifiez si tout fonctionne correctement: antivirus, pare-feu, etc.
La réponse de elin3t est donc importante car ssh améliore les performances du téléchargement afin d'éviter les problèmes de réseau
la source
La configuration ci-dessous ne fonctionne pas pour moi.
Comme commentaire précédent, il pourrait s'agir du problème de mémoire de git. Ainsi, j'essaie de réduire les threads de travail (de 32 à 8). Pour qu'il n'obtienne pas beaucoup de données du serveur en même temps. Ensuite, j'ajoute également "-f" pour forcer la synchronisation d'autres projets.
Ensuite, cela fonctionne bien maintenant.
la source
Une réponse précédente recommande de définir à 512 m. Je dirais qu'il y a des raisons de penser que c'est contre-productif sur une architecture 64 bits. La documentation de core.packedGitLimit dit:
Si vous souhaitez l'essayer, vérifiez si vous l'avez défini, puis supprimez le paramètre:
la source
Notez que Git 2.13.x / 2.14 (Q3 2017) augmente la valeur par défaut
core.packedGitLimit
qui influe surgit fetch
:la valeur limite par défaut de pack-git a été augmentée sur les plates-formes plus grandes ( de 8 Gio à 32 Gio ) pour sauver "
git fetch
" d'une panne (récupérable) tandis que "gc
" fonctionne en parallèle.Voir commit be4ca29 (20 avril 2017) par David Turner (
csusbdt
) .Aidé par: Jeff King (
peff
) .(Fusionné par Junio C Hamano -
gitster
- en commit d97141b , 16 mai 2017)la source
En utilisant @cmpickle answer, j'ai construit un script pour simplifier le processus de clonage.
Il est hébergé ici: https://gist.github.com/gianlucaparadise/10286e0b1c5409bd1049d67640fb7c03
Vous pouvez l'exécuter en utilisant la ligne suivante:
la source
Dans mon cas, le problème n'était pas lié aux paramètres de configuration de git, mais au fait que mon référentiel avait un fichier dépassant la taille de fichier maximale autorisée sur mon système. J'ai pu le vérifier en essayant de télécharger un gros fichier et en obtenant une "Limite de taille de fichier dépassée" sur Debian.
Après cela, j'ai édité mon fichier /etc/security/limits.conf en ajoutant et à la fin de celui-ci les lignes suivantes: * hard fsize 1000000 * soft fsize 1000000
Pour réellement «appliquer» les nouvelles valeurs limites dont vous avez besoin pour vous reconnecter
la source
Tangentiellement lié et utile uniquement si vous n'avez pas d'accès root et extrayez manuellement Git d'un RPM (avec rpm2cpio) ou d'un autre package (.deb, ..) dans un sous-dossier. Cas d'utilisation typique: vous essayez d'utiliser une version plus récente de Git sur celle obsolète sur un serveur d'entreprise.
Si git clone échoue
fatal: index-pack failed
sans mention EOF précoce mais à la place un message d'aide à proposusage: git index-pack
, il y a une incompatibilité de version et vous devez exécuter git avec le--exec-path
paramètre:Pour que cela se produise automatiquement, spécifiez dans votre
~/.bashrc
:la source
J'ai eu les mêmes journaux d'erreurs, en utilisant git (v2.17.1) sur ssh. Dans mon cas, la solution est:
git gc
.Voir la documentation de git-gc: https://git-scm.com/docs/git-gc .
Par exemple:
Maintenant, je peux cloner ce référentiel sans erreur, par exemple côté client:
La commande
git gc
peut aider à être appelée côté client git pour éviter ungit push
problème similaire .Une autre solution (hack) télécharge le dernier maître sans historique:
Il existe un risque qu'un débordement de tampon ne se produise pas.
la source
Dans mon cas, rien ne fonctionnait lorsque le protocole était https, puis je suis passé à ssh et je me suis assuré que je retirais le dépôt du dernier commit et non de l'historique complet, et aussi d'une branche spécifique. Cela m'a aidé:
git clone --depth 1 "ssh: .git" --branch “specific_branch”
la source
J'ai désactivé tous les téléchargements que je faisais entre-temps, ce qui a probablement libéré de l'espace et dégagé la bande passante.
la source
Le problème de git-daemon semble avoir été résolu dans la v2.17.0 (vérifié avec une v2.16.2.1 non fonctionnelle). C'est-à-dire que la sélection du texte dans la console pour "verrouiller le tampon de sortie" ne devrait plus être nécessaire.
Depuis https://github.com/git/git/blob/v2.17.0/Documentation/RelNotes/2.17.0.txt :
la source
J'ai le même problème. Après la première étape ci-dessus, j'ai pu cloner, mais je ne peux rien faire d'autre. Impossible de récupérer, de tirer ou de retirer les anciennes branches.
Chaque commande s'exécute beaucoup plus lentement que d'habitude, puis meurt après avoir compressé les objets.
Cela se produit également lorsque vos références utilisent trop de mémoire. L'élagage de la mémoire a corrigé cela pour moi. Ajoutez simplement une limite à ce que vous allez chercher ->
Cela récupérera les fichiers mais avec les 100 dernières modifications dans leurs historiques. Après cela, vous pouvez exécuter n'importe quelle commande très bien et à vitesse normale.
la source
J'ai essayé la plupart des réponses ici, j'ai eu l'erreur avec le client PUTTY SSH avec toutes les constellations possibles.
Une fois que je suis passé à OpenSSH, l'erreur a disparu (supprimez la variable d'environnement GIT_SSH et redémarrez git bash).
J'utilisais une nouvelle machine et les dernières versions de git. Sur de nombreuses autres machines / anciennes (AWS également), cela fonctionnait comme prévu avec PUTTY sans aucune configuration git.
la source
J'ai rencontré le même problème. Le REPO était trop gros pour être téléchargé via SSH. Tout comme @ elin3t recommandé, j'ai cloné sur HTTP / HTTPS et changé l'URL À DISTANCE dans .git / config pour utiliser le SSH REPO.
la source
J'ai le même problème que ci-dessous lorsque je cours
git pull
Ensuite, j'ai vérifié le
git status
, Il y avait tellement de modifications non validées que j'ai résolu le problème en validant et en poussant toutes les modifications non validées.la source
Aucune des solutions ci-dessus n'a fonctionné pour moi.
La solution qui a finalement fonctionné pour moi était de changer de client SSH. La variable d'environnement GIT_SSH a été définie sur OpenSSH fourni par Windows Server 2019. Version 7.7.2.1
C:\Windows\System32\OpenSSH\ssh.exe
J'ai simplement installé du mastic, 0,72
choco install putty
Et changé GIT_SSH en
C:\ProgramData\chocolatey\lib\putty.portable\tools\PLINK.EXE
la source
J'ai essayé à peu près toutes les suggestions faites ici mais aucune n'a fonctionné. Pour nous, le problème était capricieux et est devenu de pire en pire à mesure que les dépôts augmentaient (sur notre esclave de génération Jenkins Windows).
Cela a fini par être la version de ssh utilisée par git. Git a été configuré pour utiliser une version d'Open SSH, spécifiée dans le fichier .gitconfig des utilisateurs via la variable core.sshCommand. Supprimer cette ligne l'a corrigé. Je pense que c'est parce que Windows est désormais livré avec une version plus fiable / compatible de SSH qui est utilisée par défaut.
la source
Cela a fonctionné pour moi, en configurant le serveur de noms Googles car aucun serveur de noms standard n'a été spécifié, suivi du redémarrage du réseau:
la source
À partir d'un clone git, je recevais:
Après avoir redémarré ma machine, j'ai pu cloner l'amende de repo.
la source
Si vous êtes sous Windows, vous voudrez peut-être vérifier que le clone git échoue avec "pack d'index" a échoué? .
Fondamentalement, après avoir exécuté votre
git.exe daemon ...
commande, sélectionnez du texte dans cette fenêtre de console. Réessayez de tirer / cloner, cela pourrait bien fonctionner maintenant!Voir cette réponse pour plus d'informations.
la source
Assurez-vous que votre disque dispose de suffisamment d'espace
la source
Rien de tout cela n'a fonctionné pour moi, mais l'utilisation de l'outil intégré d'Heroku a fait l'affaire.
Documentation ici: https://devcenter.heroku.com/articles/git-clone-heroku-app
la source