erreur: RPC a échoué; transfert de boucle fermé avec données de lecture restantes en attente

J’essaie de cloner un repository de GitLab (GitLab 6.6.2 4ef8369) et d’erreur:

entrer la description de l'image ici

remote: Counting objects: 66352, done. remote: Compressing objects: 100% (10417/10417), done. error: RPC failed; curl 18 transfer closed with outstanding read data remaining fatal: The remote end hung up unexpectedly fatal: early EOF fatal: index-pack failed 

Comment éviter cette erreur?

Cela arrive plus souvent qu’autrement, je suis sur une connexion Internet lente et je dois cloner un repository git décemment énorme. Le problème le plus courant est que la connexion se ferme et que tout le clone est annulé.

 Cloning into 'large-repository'... remote: Counting objects: 20248, done. remote: Compressing objects: 100% (10204/10204), done. error: RPC failed; curl 18 transfer closed with outstanding read data remaining fatal: The remote end hung up unexpectedly fatal: early EOF fatal: index-pack failed 

Après beaucoup d’essais et d’erreurs et beaucoup de «terminaux distants raccrochés de manière inattendue», j’ai un moyen qui fonctionne pour moi. L’idée est de faire d’abord un clone superficiel, puis de mettre à jour le référentiel avec son historique.

 $ git clone http://github.com/large-repository --depth 1 $ cd large-repository $ git fetch --unshallow 

Après quelques jours, je viens de résoudre ce problème aujourd’hui. Générer la clé ssh, suivez cet article:

https://help.github.com/articles/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent/

Le déclarer à

  1. Git provider (GitLab ce que j’utilise, GitHub).
  2. Ajoutez ceci à l’identité locale.

Puis clone par commande:

 git clone username@mydomain.com:my_group/my_repository.git 

Et aucune erreur ne se produit.

Le problème ci-dessus

erreur: RPC a échoué; curl 18 transfert fermé avec des données de lecture en suspens restantes

car avoir une erreur lors du clonage par protocole HTTP (commande curl ).

Et, vous devez incrémenter la taille du tampon:

 git config --global http.postBuffer 524288000 

Lorsque j’ai essayé le clonage depuis la télécommande, j’ai eu le même problème à plusieurs resockets:

 remote: Counting objects: 182, done. remote: Compressing objects: 100% (149/149), done. error: RPC failed; curl 18 transfer closed with outstanding read data remaining fatal: The remote end hung up unexpectedly fatal: early EOF fatal: index-pack failed 

Enfin cela a fonctionné pour moi:

 git clone https://username@bitbucket.org/repositoryName.git --depth 1 

Comme mentionné ci-dessus, lancez d’abord votre commande git depuis bash en ajoutant les directives de journalisation améliorées au début: GIT_TRACE=1 GIT_CURL_VERBOSE=1 git ...

ex. GIT_CURL_VERBOSE=1 GIT_TRACE=1 git -c diff.mnemonicprefix=false -c core.quotepath=false fetch origin

Avec moi, ce problème est survenu à cause de la configuration du proxy. J’ai ajouté le serveur ip git dans l’exception du proxy. Le serveur git était local, mais la variable d’environnement no_proxy n’était pas définie correctement.

J’ai utilisé cette commande pour identifier le problème:

 #Linux: export GIT_TRACE_PACKET=1 export GIT_TRACE=1 export GIT_CURL_VERBOSE=1 #Windows set GIT_TRACE_PACKET=1 set GIT_TRACE=1 set GIT_CURL_VERBOSE=1 

En contrepartie, il y avait le “Proxy-Authorization” car le serveur git était sur place ne devrait pas passer par le proxy. Mais le vrai problème était la taille des fichiers définis par les règles de proxy

Changer le protocole de clone git pour essayer.

Par exemple, cette erreur s’est produite lorsque “git clone https: // xxxxxxxxxxxxxxx ”

vous pouvez essayer avec “git clone git: // xxxxxxxxxxxxxx”, peut-être ok alors.

Solution simple: Plutôt que de cloner via https, clonez-le via ssh.

Par exemple:

 git clone https://github.com/vaibhavjain2/xxx.git - Avoid git clone git@github.com:vaibhavjain2/xxx.git - Correct 

Problèmes de connexion réseau.
Peut-être en raison du délai de connexion persistant.
Le meilleur moyen est de changer de réseau.

Veuillez suivre ces étapes:

 pod repo update pod install 

J’espère que cela fonctionne pour vous. Bonne chance

Ces étapes fonctionnent pour moi:

 cd [dir] git init git clone [your Repository Url] 

J’espère que cela fonctionne pour vous aussi.

essaye ça

 $ git config --global user.name "John Doe" $ git config --global user.email johndoe@example.com 

https://git-scm.com/book/en/v2/Getting-Started-First-Time-Git-Setup

c’est du travail pour moi .. capture.png