Git falla al enviar commit a github

6 minutos de lectura

Git falla al enviar commit a github
Esteban Melvin

Cloné un repositorio de git que tenía alojado en github en mi computadora portátil. Pude enviar con éxito un par de confirmaciones a github sin problemas. Sin embargo, ahora me sale el siguiente error:

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)

Desde aquí simplemente se cuelga y finalmente tengo que CONTROL + C de vuelta a la terminal.

  • ¿Por qué hay un error HTTP? ¿No empujas a github a través de SSH?

    – Cascabel

    24 de abril de 2010 a las 4:31

  • Para aclarar: la url en el origin Sección de .git/config no dice http, ¿verdad?

    – Cascabel

    24 de abril de 2010 a las 4:35

  • @Jefromi Cloné mi repositorio privado usando el enlace http de lectura/escritura.

    – Stephen Melvin

    24 de abril de 2010 a las 23:29

  • No, dice https. Esto es extraño porque he podido hacer dos empujones antes de la falla.

    – Stephen Melvin

    24 de abril de 2010 a las 23:33

Git falla al enviar commit a github
Voluntad

Tuve el mismo problema y creo que tiene que ver con el tamaño del repositorio (editado o el tamaño de un archivo en particular) que está tratando de enviar.

Básicamente, pude crear nuevos repositorios y enviarlos a github. Pero uno existente no funcionaría.

El código de error HTTP parece respaldarme, es un error de ‘Longitud requerida’. Entonces, tal vez sea demasiado grande para calcular o superar el máximo. Quién sabe.

EDITAR

Descubrí que el problema puede ser que los archivos sean grandes. Tuve una actualización que no impulsó a pesar de que tuve impulsos exitosos hasta ese momento. Solo había un archivo en la confirmación pero resultó ser 1.6M

Así que agregué el siguiente cambio de configuración

git config http.postBuffer 524288000

Para permitir hasta el tamaño de archivo 500M y luego mi empuje funcionó. Puede haber sido que este fuera el problema inicialmente al impulsar un gran repositorio sobre el protocolo http.

FIN DE EDITAR

la forma en que pude hacer que funcionara (EDITAR antes de modificar postBuffer) fue cargar mi repositorio, copiarlo en una máquina que pueda hacer git sobre ssh y enviarlo a github. Luego, cuando intente hacer un push/pull desde el servidor original, debería funcionar a través de https. (ya que es una cantidad de datos mucho menor que un impulso original).

  • A mí también me funcionó, aunque tuve un error HTTP 501 en lugar del 411. ¡Gracias!

    –Emaad Ahmed Manzoor

    14 de marzo de 2011 a las 2:51

  • ¡Gracias! esto funcionó, e incluso aceleró la carga. Intentaba enviar un sitio web a los nuevos sitios web de Windows Azure y seguía fallando.

    – jake

    6 de julio de 2012 a las 15:44

  • ¿Hay algún inconveniente en establecer este valor muy alto?

    – snogglethorpe

    6 de febrero de 2013 a las 1:09

  • @snogglethorpe Potencialmente: “Codificación de transferencia: fragmentado se usa para evitar crear un archivo de paquete masivo localmente”. Si establece el valor en algo enorme, puede terminar generando archivos de paquetes masivos cuando intenta empujar. No todos los sistemas de archivos manejan bien los archivos masivos y es posible que no se eliminen de manera eficiente. Puede ver estos archivos en .git/objects/pack.

    – cáñamo

    24/04/2018 a las 20:53


  • Cambiando el http.postBuffer es más innecesario que dañino, pero hay un efecto secundario negativo: aumentarlo por encima del valor predeterminado puede aumentar la latencia para impulsos más grandes (ya que el cliente almacenará la solicitud HTTP en fragmentos más grandes).

    – Swatantra Kumar

    29 de mayo de 2018 a las 9:57

1646752573 616 Git falla al enviar commit a github
Nikita Pushkar

Si este comando no ayuda

configuración de git http.postBuffer 524288000

Intenta cambiar el método ssh a https

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

Parece un problema del servidor (es decir, un problema de “GitHub”).
Si miras este hilopuede suceder cuando el git-http-backend obtiene un montón corrupto. (y dado que solo ponlo en su lugar a soporte http inteligente…)
Pero cualquiera que sea la causa real, también puede estar relacionado con recientes interrupción esporádica en uno de los servidores de archivos de GitHub.

¿Sigues viendo este mensaje de error? Porque si lo haces:

  • verifique su versión local de Git (y actualice a la última)
  • reportar esto como un Error de GitHub.

Nota la Soporte HTTP inteligente es un gran problema para aquellos de nosotros detrás de un proxy de firewall empresarial basado en la autenticación.

De ahora en adelante, si clonas un repositorio sobre el http:// url y está utilizando una versión de cliente de Git 1.6.6 o superior, Git utilizará automáticamente el mecanismo de transporte más nuevo y mejorado.
Aún más sorprendente, sin embargo, es que ahora puede pasar por encima de ese protocolo y clonar repositorios privados también. Si accede a un repositorio privado, o si es un colaborador y quiere acceso push, puede poner su nombre de usuario en la URL y Git le pedirá la contraseña cuando intente acceder.

Los clientes más antiguos también recurrirán a la forma más antigua y menos eficiente, por lo que nada debería fallar, solo los clientes más nuevos deberían funcionar mejor.

Entonces, nuevamente, asegúrese de actualizar su cliente Git primero.

  • Tuve problemas similares detrás de un enrutador inalámbrico ADSL (en francés Orange Livebox): imposible publicar mi clave SSH en github.comempuje atascado en https… hasta que use un acceso a Internet alternativo.

    – Yves Martín

    17/09/2012 a las 20:11

  • Smart HTTP Support logró que pasara por nuestro proxy de firewall cuando recibí “error: RPC falló; resultado = 22, código HTTP = 0” cuando intenté presionar.

    – Boggin

    26 de junio de 2013 a las 11:16


  • @Boggin Sí, confirmo que http inteligente es generalmente la opción preferida cuando uno está detrás de un proxy. El puerto estándar http/https está (casi) siempre abierto.

    – VoC

    26 de junio de 2013 a las 11:18

Traté de ingresar a mi propio servidor bonobo-git alojado, y no me di cuenta de que http.postbuffer significaba el directorio del proyecto …

así que solo para otros confundidos:

¿Por qué? En mi caso, tenía archivos zip grandes con activos y algunos PSD también, supongo que demasiado grandes para el búfer.

Cómo hacer esto http.postbuffer: ejecute ese comando dentro del directorio src de su proyecto, al lado de la carpeta .git, no en el servidor.

Tenga en cuenta que se crearán archivos temporales grandes (fragmentos) con ese tamaño de búfer.

Nota: solo verifique sus archivos más grandes, luego configure el búfer.

El problema de empujar principalmente se debe al tamaño de los archivos que deben empujarse. Estaba tratando de empujar algunas bibliotecas de solo 2 mb de tamaño, luego también el empuje estaba dando un error de RPC con el resultado 7. La línea es de 4 mbps y funciona bien. Algunos intentos posteriores al empuje me dieron éxito. Si aparece dicho error, espere unos minutos y siga intentándolo.

También descubrí que hay algunas fallas de RPC si el github está inactivo o si la red es inestable a su lado.

¡Así que seguir intentándolo después de algunos intervalos es la única opción!

Git falla al enviar commit a github
RahulMohan Kolakandy

en estos casos, puede probar ssh si https está atascado.

También puede intentar aumentar el tamaño del búfer a una cifra astronómica para que no tenga que preocuparse más por el tamaño del búfer git config http.postBuffer 100000000

¿Ha sido útil esta solución?

Esta web utiliza cookies propias y de terceros para su correcto funcionamiento y para fines analíticos y para mostrarte publicidad relacionada con sus preferencias en base a un perfil elaborado a partir de tus hábitos de navegación. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos. Configurar y más información
Privacidad