Solución rápida:
Con este tipo de error, generalmente comienzo aumentando el postBuffertamaño:
git config --global http.postBuffer 524288000
(algunos comentarios a continuación informan que tienen que duplicar el valor):
git config --global http.postBuffer 1048576000
Más información:
Desde la git configpágina del manual , http.postBufferse trata de:
Tamaño máximo en bytes del búfer utilizado por los transportes HTTP inteligentes al enviar datos al sistema remoto.
Para solicitudes mayores que este tamaño de búfer, HTTP / 1.1 y Transfer-Encoding: chunkedse utiliza para evitar crear un archivo de paquete masivo localmente. El valor predeterminado es 1 MiB, que es suficiente para la mayoría de las solicitudes.
Incluso para el clon, eso puede tener un efecto, y en este caso, el OP Joe informa:
[clon] funciona bien ahora
Nota: si algo salió mal en el lado del servidor, y si el servidor usa Git 2.5+ (Q2 2015), el mensaje de error podría ser más explícito.
Consulte " Clonación de Git: el extremo remoto colgó inesperadamente, intentó cambiar postBufferpero aún falla ".
Kulai ( en los comentarios ) señala esta página de Git de solución de problemas de Atlassian , que agrega:
Error code 56indica que un curl recibió el error, lo CURLE_RECV_ERRORque significa que hubo algún problema que impidió que se recibieran los datos durante el proceso de clonación.
Por lo general, esto se debe a una configuración de red, firewall, cliente VPN o antivirus que finaliza la conexión antes de que se hayan transferido todos los datos.
También menciona la siguiente variable de entorno, para ayudar con el proceso de depuración.
# Linux
export GIT_TRACE_PACKET=1
export GIT_TRACE=1
export GIT_CURL_VERBOSE=1
#Windows
set GIT_TRACE_PACKET=1
set GIT_TRACE=1
set GIT_CURL_VERBOSE=1
Con Git 2.25.1 (febrero de 2020), usted sabe más sobre esta http.postBuffer"solución".
Ver commit 7a2dc95 , commit 1b13e90 (22 de enero de 2020) por brian m. Carlson ( bk2204) .
(Fusionada por Junio C Hamano - gitster- en commit 53a8329 , 30 de enero de 2020)
( Discusión de la lista de correo de Git )
docs: mencionar cuando aumentar http.postBuffer es valioso
Firmado por: brian m. carlson
Los usuarios en una amplia variedad de situaciones se encuentran con problemas de inserción HTTP.
A menudo, estos problemas se deben a software antivirus, servidores proxy de filtrado u otras situaciones de intermediario; otras veces, se deben a la simple falta de fiabilidad de la red.
Sin embargo, una solución común a los problemas de inserción HTTP que se encuentran en línea es aumentar http.postBuffer.
Esto no funciona para ninguna de las situaciones mencionadas anteriormente y solo es útil en un pequeño número de casos altamente restringidos: esencialmente, cuando la conexión no es compatible con HTTP / 1.1.
Documente cuándo aumentar este valor es apropiado y lo que realmente hace, y desaliente a las personas a usarlo como una solución general para los problemas de empuje, ya que no es efectivo allí.
Entonces la documentación por git config http.postBufferahora incluye:
http.postBuffer
Tamaño máximo en bytes del búfer utilizado por los transportes HTTP inteligentes al enviar datos al sistema remoto.
Para solicitudes mayores que este tamaño de búfer, HTTP / 1.1 y Transfer-Encoding: fragmentado se usan para evitar crear un archivo de paquete masivo localmente.
El valor predeterminado es 1 MiB, que es suficiente para la mayoría de las solicitudes.
Tenga en cuenta que aumentar este límite solo es efectivo para deshabilitar la codificación de transferencia fragmentada y, por lo tanto, debe usarse solo cuando el servidor remoto o un proxy solo admite HTTP / 1.0 o no cumple con el estándar HTTP.
En general, aumentar esto no es una solución efectiva para la mayoría de los problemas de inserción, pero puede aumentar el consumo de memoria de manera significativa ya que todo el búfer se asigna incluso para pequeñas pulsaciones .