J'utilise un référentiel Git depuis quelques années et je me sens toujours comme un nouveau. L'aide est la bienvenue!
Il commence à cloner pendant un moment:
remote: Counting objects: 22394<br>
remote: Compressing objects: 100% (12314/12314)<br>
Receiving objects: 32% ....
L'erreur:
error: RPC failed; result=56, HTTP code = 200<br>
fatal: The remote end hung up unexpectedly<br>
fatal: early EOF<br>
fatal: index-pack failed
La commande git:
git clone https://[username]:[password]@github.com/MegaWorldStudios/OmegatechV2.git "C:\OmegatechV2"
Version Git:
1.9.4-preview20140929 (téléchargé/mis à jour aujourd'hui par les amis git)
J'ai trouvé des questions comme celle-ci, mais aucune des réponses ne résout le problème.
J'ai aussi essayé:
Fixer le postBuffer plus haut comme mentionné dans des posts similaires
git config http.postBuffer 524288000<br>
git config --global http.postBuffer 524288000
Réglage - profondeur 1 et faire un clone peu profond que je peux plus tard tirer le reste
Réglage - profondeur 2
error: RPC failed; result=18, HTTP code = 200
Cloning from a branch other than the main branch
Reinstalling the software and updating
Que signifie cette erreur infernale et quelle est la solution ou la solution de contournement?
Merci beaucoup d'avance!
Cette erreur est due au protocole HTTPS de Git. Pour afficher l'erreur en détail, vous pouvez définir la variable d'environnement GIT_CURL_VERBOSE
. Par exemple:
$ GIT_CURL_VERBOSE=1 git pull
Votre antivirus ou votre pare-feu pourrait modifier les paquets HTTP en transit. Voir Le clone git a échoué à cause d'un antivirus par exemple.
Enfin, il pourrait s’agir d’une connexion réseau peu fiable. J'utilise une machine OSX connectée au Wifi et le problème a disparu lorsque je passe à une connexion LAN.
J'ai fait face à une erreur similaire. J'ai essayé de configurer http.postBuffer
mais cela n'a pas fonctionné.
J'ai trouvé à peu près la même erreur (avec la solution) par ici: Git Clone Fails - error: RPC failed; résultat = 56, code HTTP = 200
Comme suggéré dans le lien ci-dessus, je l'ai résolu en utilisant SSH pour effectuer le clone.
Voici un bon tutoriel sur la façon de Configurer SSH pour Git .
Le clone Git avec une URL HTTPS n'est pas pris en charge par le binaire git fourni actuellement dans debian et ubuntu. Voir cette réponse pour une solution de contournement.
Il s’agit d’un problème spécifique aux clients Atlassian Stash et Mac OSX git. Solution de contournement:
Installez HomeBrew en suivant les instructions ici: http://brew.sh/
Suivez la solution fournie dans this Gist avec l'aimable autorisation d'entropiae:
$ brew remove git
$ brew remove curl
$ brew install openssl
$ brew install --with-openssl curl
$ brew install --with-brewed-curl --with-brewed-openssl git
(ceci installe un binaire fonctionnel dans, par exemple, /usr/local/Cellar/git/2.10.2/bin/git
)
Dites à votre IDE d'utiliser ce binaire, ou vous pouvez l'exécuter depuis la ligne de commande pour cloner/pousser, etc.
J'ai rencontré le même problème sous Mac OSX lors de la tentative d'envoi de mon code à bitbucket. J'ai fait 2 étapes suivantes pour résoudre le problème:
Augmentez la mémoire tampon avec la commande: Git config http.postBuffer 524288000
Changez le protocole de HTTPS à SSH. C'est la clé principale pour résoudre le problème. Vous pouvez vous reporter à https://confluence.atlassian.com/bitbucket/set-up-ssh-for-git-728138079.html pour plus d'informations.
Publication ici parce que c'était l'un des premiers résultats de Google pour 'RPC a échoué; résultat = 56, code HTTP = 200 '.
J'ai essayé beaucoup de choses différentes pour résoudre ce problème. J'ai essayé de compiler git à partir des sources, en ajoutant des paramètres gitconfig, et j'ai même essayé plusieurs configurations de mon serveur GitLab. Aucune de ces choses n'a fonctionné. Je ne comprenais pas pourquoi je pouvais cloner un repo avec succès sur le même sous-réseau que mon serveur git, mais je ne pouvais pas passer par un sous-réseau distant (connecté par un VPN de site à site).
Le problème a fini par être mon pare-feu. J'ai mis la liste blanche du client et tout a commencé à fonctionner. Placer temporairement le client dans un DMZ peut également être une solution rapide.