537 votes

Git, fatal : l'extrémité distante a raccroché de manière inattendue.

Quand j'ai essayé d'exécuter

git push origin master --force

Je viens de recevoir

Counting objects: 2649, done.
Delta compression using up to 2 threads.
Compressing objects: 100% (1280/1280), done.
error: RPC failed; result=22, HTTP code = 413 | 116 KiB/s   
fatal: The remote end hung up unexpectedly
Writing objects: 100% (2504/2504), 449.61 MiB | 4.19 MiB/s, done.
Total 2504 (delta 1309), reused 2242 (delta 1216)
fatal: The remote end hung up unexpectedly
Everything up-to-date

Est-ce que cela a quelque chose à voir avec le fait de ne pas être sécurisé ? J'ai essayé de créer une clé publique comme dans la réponse de Fatal : le terminal distant a raccroché de manière inattendue. et le relancer, mais ça ne marche toujours pas. Est-ce que je n'utilise pas réellement la clé ? Si oui, comment puis-je l'utiliser ?

0 votes

Veuillez montrer la sortie de git remote -v

1 votes

22 votes

Git config http.postBuffer 524288000 # ça marche pour moi

856voto

Roman M Points 1301

Le problème est dû aux paramètres de la mémoire tampon de git/https. Afin de le résoudre (tiré de Git échoue lorsqu'on pousse un commit vers github )

git config http.postBuffer 524288000

Et exécutez à nouveau la commande

10 votes

J'ai besoin que la mémoire tampon soit supérieure à 500 Mo - est-ce possible ? Cela ne semble pas faire de différence si j'augmente le nombre de postBuffer...

0 votes

Merci pour le lien - j'ai résolu le problème en divisant la poussée en plus petits morceaux. Si je rencontre à nouveau un problème, je sais où regarder !

0 votes

Cela résout également mon problème, je suppose que c'est parce que certains de mes fichiers ont dépassé la taille maximale de transfert autorisée par défaut par git ?

141voto

Chinu Points 61

Cause : La taille par défaut des fichiers postés par Git a été dépassée.

Solution :

Naviguez vers le dépôt.

Exécutez la commande suivante pour augmenter la mémoire tampon à 500 Mo après avoir navigué vers le référentiel :

git config http.postBuffer 524288000

61 votes

Vous pouvez également utiliser git config ssh.postBuffer 524288000 si vous postez par ssh au lieu de http.

9 votes

Dans certains cas git config --global http.postBuffer 100000000

0 votes

J'obtiens "fatal : not in a git directory" après l'exécution de cette commande.

121voto

Vitalliuss Points 193

Cela ressemble à Comment faire pour que github utilise par défaut ssh et non https pour les nouveaux dépôts ? . Cela vaut probablement la peine d'essayer de passer du protocole http à ssh :

$ git remote add origin git@github.com:username/project.git

0 votes

Pourquoi ne puis-je pas simplement passer de http à https ?

16 votes

Bash-3.2$ git remote add origin git@github.com:xxx/xx.git fatal : remote origin already exists. POURQUOI ?

18 votes

@almaruf c'est parce que la télécommande origin est déjà là et vous essayez de le remplacer. git ne permet pas cela. Vous devez donc d'abord faire git remote rm origin puis réessayer. Cela fonctionnerait

10voto

Loilo Points 30

Cette erreur peut également être déclenchée par droits d'écriture manquants sur le référentiel.


Mon cas concret s'est déroulé comme suit :

  1. J'ai créé un repo avec le root utilisateur de mon serveur (via SSH).
  2. J'ai installé un service git et a créé un git utilisateur linux qui doit gérer toutes les actions liées à git.
  3. À ce moment-là, j'avais oublié que le repo avait été créé avec la commande root l'utilisateur en premier lieu, et le git L'utilisateur n'avait tout simplement pas les droits pour écrire quoi que ce soit dans le référentiel.

5voto

Frank P Points 1

Dans notre cas, le problème était un clone qui a écrit un .git/config qui contenait une entrée url qui était une méthode d'accès en lecture seule. En changeant l'url du fichier :// à la méthode @ a réglé le problème.

Running git remote -v a éclairé la question.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X