Solo tengo una rama. Durante unos meses he estado usando
git push origin master
para comprometerme con mi repositorio local. Anoche, después de hacer algunos cambios menores en mi repositorio local e intentar presionar usando el mismo comando, recibí este error:
error: RPC failed; result=22, HTTP code = 411
fatal: The remote end hung up unexpectedly
fatal: The remote end hung up unexpectedly
Everything up-to-date
Busqué en Google y encontré preguntas como esta y esta , pero ninguna de las respuestas a estas preguntas resuelve mi problema.
La mayoría de las respuestas sugieren el problema de la cabeza desprendida . Sin embargo, no creo que mi cabeza esté separada. Tampoco creo que esté en la rama equivocada (ya que solo tengo una rama ...)
Hice algunos experimentos para descubrir qué está mal, y aquí están los resultados que obtuve:
(1) Primero viene mi git status
salida
# On branch master # Untracked files: # (use "git add <file>..." to include in what will be committed) # # egal.aux # egal.blg # egal.out # egal.pdf # egalcar.aux # egalcar.blg # egalcar.pdf nothing added to commit but untracked files present (use "git add" to track)
(2) Cuando escribo git reflog
, puedo ver todas mis confirmaciones locales, pero el repositorio remoto simplemente no se actualizará.
(3) Cuando escribo git branch -a
, me sale
* master remotes/origin/master
(4) Cuando escribo git remote show origin
, me sale
* remote origin Fetch URL: http://github.com/CherryQu921/egaldoc_en Push URL: http://github.com/CherryQu921/egaldoc_en HEAD branch: master Remote branch: master tracked Local ref configured for 'git push': master pushes to master (fast-forwardable)
Creo que la última línea de salida (el "reenviable rápido") es extraña, pero no estoy seguro de qué está mal ...
fast-forwardable
significa que puede enviar los cambios locales a la sucursal remota, nada criminal :-)Respuestas:
Si intenta empujar un gran conjunto de cambios a un repositorio Git con HTTP o HTTPS, es posible que aparezca un mensaje de error como error:
RPC failed; result=22, HTTP code = 411
. Esto es causado por una configuración predeterminada de Git que limita ciertas operaciones HTTP a 1 megabyte.Para cambiar este límite, ejecute dentro de su repositorio local
donde bytes es el número máximo permitido de bytes. Por ejemplo:
Por 500MB (gracias @Hengjie)
fuente
git config http.postBuffer 524288000
para 500MB./etc/nginx/sites-available/gitlab
). Más información: github.com/gitlabhq/gitlabhq/issues/3099RPC failed; result=22, HTTP code = 502
?También puede hacer esto a nivel mundial:
Eso permitirá que todos los repositorios locales envíen hasta 500 MB de datos.
fuente
Ninguna de las soluciones proporcionadas funcionó para nosotros. Tuvimos que cambiar para
ssh
hacer que esto funcione en lugar de laHTTPS
solución.fuente
Si está utilizando TortoiseGit para Windows, la forma más sencilla es utilizar la configuración integrada.
En un explorador de archivos, presione el botón izquierdo del mouse, seleccione TortoiseGit -> Configuración . Acepta el mensaje de información. Ahora, puede elegir si desea configurar la propiedad solo para el proyecto actual o el sistema en su totalidad. Para la configuración de todo el sistema, presione "editar gitconfig de todo el sistema" y agregue la siguiente línea a la sección
[http]
:(si la sección
[http]
no existe, créala)fuente
Resolví el error 22 de la siguiente manera: en el comando "git clone" NO proporcioné al usuario: contraseña. El clon funcionó, pero no el empujón. Solución para el error 22: Modifique .git / config la url de esta manera: url = http: // user: pwd @ host / ... Entonces, la inserción funcionó.
fuente