Git échoue en poussant commit vers github

J’ai cloné un repo git que j’ai hébergé sur github sur mon ordinateur portable. J’ai réussi à pousser quelques commits vers github sans problème. Cependant, je reçois maintenant l’erreur suivante:

Compressing objects: 100% (792/792), done. error: RPC failed; result=22, HTTP code = 411 Writing objects: 100% (1148/1148), 18.79 MiB | 13.81 MiB/s, done. Total 1148 (delta 356), reused 944 (delta 214) 

À partir de là, il ne rest plus qu’à raccrocher et je dois enfin retourner CTRL + C au terminal.

J’ai eu le même problème et je pense que cela a à voir avec la taille du repository (édité ou la taille d’un fichier particulier) que vous essayez de pousser.

En gros, j’ai pu créer de nouveaux repos et les pousser vers le github. Mais un existant ne fonctionnerait pas.

Le code d’erreur HTTP semble me confirmer qu’il s’agit d’une erreur “Longueur requirejse”. Donc, peut-être qu’il est trop grand pour calculer ou augmenter le maximum. Qui sait.

MODIFIER

J’ai trouvé que le problème peut être des fichiers volumineux. J’ai eu une mise à jour qui ne pousserait pas même si j’ai réussi à pousser jusqu’à ce point. Il n’y avait qu’un seul fichier dans le commit mais il s’est avéré être 1.6M

J’ai donc ajouté le changement de configuration suivant

 git config http.postBuffer 524288000 

Pour permettre la taille du fichier 500M et ensuite ma poussée a fonctionné. Il se peut que cela ait été le problème au départ avec un gros repository sur le protocole http.

END EDIT

La façon dont je pouvais le faire fonctionner (EDIT avant de modifier postBuffer) était de préparer mon repo, de le copier sur une machine capable de gérer ssh, et de le pousser sur github. Ensuite, lorsque vous essayez de faire un push / pull à partir du serveur d’origine, cela devrait fonctionner sur https. (puisque c’est une quantité de données beaucoup plus petite qu’une poussée originale).

J’espère que cela t’aides.

Ressemble à un problème de serveur (c’est-à-dire un problème de “GitHub”).
Si vous examinez ce sujet , cela peut se produire lorsque le git-http-backend reçoit un segment de mémoire corrompu (et qu’ils ont simplement mis en place un support http intelligent ).
Mais quelle que soit la cause réelle, il peut également être lié à une perturbation sporadique récente dans l’un des serveurs de fichiers GitHub .

Vous voyez toujours ce message d’erreur? Parce que si vous faites:

  • vérifiez votre version locale de Git (et passez à la dernière)
  • signaler cela comme un bug GitHub .

Remarque: le support HTTP intelligent est un gros problème pour ceux d’entre nous qui sont derrière un proxy de pare-feu d’entreprise authentifié!

A partir de maintenant, si vous clonez un référentiel sur l’URL http:// et que vous utilisez un client Git version 1.6.6 ou supérieure, Git utilisera automatiquement le nouveau mécanisme de transport, plus récent.
Encore plus étonnant, cependant, vous pouvez désormais transférer ce protocole et cloner des référentiels privés. Si vous accédez à un référentiel privé ou si vous êtes un collaborateur et souhaitez un access push, vous pouvez mettre votre nom d’utilisateur dans l’URL et Git vous demandera le mot de passe lorsque vous tenterez d’y accéder.

Les clients plus âgés se rabattront également sur la méthode la plus ancienne et la moins efficace, de sorte que rien ne se cassera – seuls les nouveaux clients devraient fonctionner mieux.

Donc, encore une fois, assurez-vous de mettre à jour votre client Git en premier.

Pousser de Git GUI au lieu de Bash fonctionne pour moi.

Si cette commande n’aide pas

git config http.postBuffer 524288000

Essayez de changer la méthode ssh en https

 git remote -v git remote rm origin git remote add origin https://github.com/username/project.git 

Le problème à résoudre est principalement dû à la taille des fichiers à pousser. J’essayais de pousser certaines librairies de taille juste 2 Mo, puis le push donnait une erreur de RPC avec le résultat 7. La ligne est de 4 Mbps et fonctionne correctement. Quelques essais ultérieurs pour me pousser ont eu du succès. Si une telle erreur survient, attendez quelques minutes et continuez d’essayer.

J’ai également découvert qu’il y a des défaillances RPC si le github est en panne ou si le réseau devient instable à ses côtés.

Donc, continuer à essayer après quelques intervalles est la seule option!

dans ces cas, vous pouvez essayer ssh si https est bloqué.

Vous pouvez également essayer d’augmenter la taille du tampon à un chiffre astronomique afin de ne plus avoir à vous soucier de la taille du tampon git config http.postBuffer 100000000