Mi git
cliente falla repetidamente con el siguiente error después de intentar clonar el repositorio por algún tiempo.
¿Cuál podría ser el problema aquí?
Nota: he registrado mi clave SSH con el proveedor de alojamiento GIT
Receiving objects: 13% (1309/10065), 796.00 KiB | 6 KiB/s
fatal: The remote end hung up unexpectedly
git config --global http.postBuffer 524288000
tiene algún efecto en tu clon? Se había ningún mensaje de error adicional como una 'error: RPC failed; result=56, HTTP code = 0
'git config --global http.postBuffer 524288000
?Respuestas:
Solución rápida:
Con este tipo de error, generalmente comienzo aumentando el
postBuffer
tamaño:(algunos comentarios a continuación informan que tienen que duplicar el valor):
Más información:
Desde la
git config
página del manual ,http.postBuffer
se trata de:Incluso para el clon, eso puede tener un efecto, y en este caso, el OP Joe informa:
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
postBuffer
pero aún falla ".Kulai ( en los comentarios ) señala esta página de Git de solución de problemas de Atlassian , que agrega:
También menciona la siguiente variable de entorno, para ayudar con el proceso de depuración.
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 )
Entonces la documentación por
git config http.postBuffer
ahora incluye:fuente
ssh://
.postBuffer
configuración tiene algún efecto en un clon o búsqueda.Mismo error con Bitbucket. Arreglado por
fuente
El truco http.postBuffer no funcionó para mí. Sin embargo:
Para otras personas que experimentan este problema, puede ser un problema con GnuTLS. Si configura el modo detallado, puede ver que el error subyacente se ve algo similar a las líneas del código a continuación.
Desafortunadamente, mi única solución hasta ahora es usar SSH.
He visto una solución publicada en otro lugar para compilar Git con OpenSSL en lugar de GnuTLS. Hay un informe de error activo para el problema aquí .
fuente
100000000000000
Obs .: Cambiar
http.postBuffer
también puede requerir configurar el archivo de configuración de Nginx para que gitlab acepte tamaños de cuerpo más grandes para el cliente, ajustando el valor de client_max_body_size.Sin embargo, existe una solución alternativa si tiene acceso a la máquina Gitlab o a una máquina en su red, y eso es haciendo uso de
git bundle
.git bundle create my-repo.bundle --all
git clone my-repo.bundle
git remote set-url origin "path/to/your/repo.git"
git push
¡Todo lo mejor!
fuente
Lo único que funcionó para mí fue clonar el repositorio usando el enlace HTTPS en lugar del enlace SSH .
fuente
Si está utilizando https y obtiene el error.
Usé https en lugar de http y resolvió mi problema
fuente
Basado en esta respuesta , intenté lo siguiente (con https url):
git clone --depth 25 url-here
git fetch --depth 50
git fetch --depth 100
git fetch --depth 200
...y así
git fetch --unshallow
, y está hecho.El proceso obviamente se tarda mucho más tiempo, pero en mi entorno caso
http.postBuffer
ycore.compression
no ayudó.UPD : descubrí que la recuperación a través de ssh funciona para cualquier tamaño de repositorio (descubierto accidentalmente), hecho
git clone <ssh url>
, dado que ha creado claves ssh. Una vez que se obtiene el repositorio, cambio la dirección remota usandogit remote set-url <https url to repo>
fuente
Obtuve la solución después de usar el siguiente comando:
git repack -a -f -d --window=250 --depth=250
fuente
Tengo el mismo problema, lo solucioné con el método de prueba y error. Cambié el valor de core.compression hasta que funcione.
Comencé con "git config --global core.compression 1" después de 3 intentos
"git config --global core.compression 4" funcionó para mí.
fuente
Esto se debe al problema de conectividad a Internet, me enfrenté al mismo problema. Hice una copia superficial de código usando
Más tarde no se autorizó el clon usando
fuente
en
/etc/resolv.conf
agregar la línea al final del archivofuente
Bueno, quería impulsar una solución de 219 MB, pero no tuve suerte con
¿Y cuál es el punto de tener un buffer de publicación de 525 MB de todos modos? Es una tontería. Así que miré el error de git a continuación:
Entonces git quiere publicar 5 MB, luego hice el búfer de publicación de 6 MB, y funciona
fuente
Tuve el mismo problema y estaba relacionado con una mala conexión a Internet, así que después de probar algunas configuraciones de git, ¡me desconecté de mi red y me conecté nuevamente y funciona!
Parece que después de la conexión perdida (o la acción que dispara esta situación), git está atascado.
Espero que pueda ser de ayuda para alguien más aquí.
Mejor,
fuente
También tuve el mismo problema. La razón de este problema es como las descripciones de Kurtis sobre GNUTLS.
Si tiene el mismo motivo y su sistema es Ubuntu, puede resolver este problema instalando la última versión de git desde
ppa:git-core/ppa
. Los comandos son los siguientes.fuente
apt-get git
??Estaba enfrentando este problema cuando clonaba datos (a través de HTTP) desde un repositorio de git remoto alojado en una instancia de AWS EC2 administrada por elastic beanstalk. La clonación en sí también se realizó en la instancia de AWS EC2.
Probé todas las soluciones mencionadas y sus combinaciones:
http.postBuffer
http.maxrequestbuffer
git clone
y luegogit fetch --unshallow
- vea fatal: temprano EOF fatal: índice-paquete fallidopackedGitLimit
et al, ver aquí: fatal: EOF temprano fatal: índice-paquete fallidoclient_max_body_size
tanto en valor grande como en 0 (ilimitado); ajusteproxy_request_buffering off;
options single-request
en /etc/resolv.confgit clone
Después de todo esto, todavía estaba enfrentando el mismo problema una y otra vez, hasta que descubrí que el problema está en Elastic Load Balancer (ELB) cortando la conexión . Después de acceder a la instancia EC2 (la única que aloja el repositorio de git) directamente en lugar de pasar por ELB, ¡finalmente pude clonar el repositorio de git! Todavía no estoy seguro de cuál de los parámetros ELB (tiempo de espera) es responsable de esto, por lo que todavía tengo que investigar un poco.
ACTUALIZAR
Parece que cambiar la política de drenaje de la conexión para AWS Elastic Load Balancer al aumentar el tiempo de espera de 20 segundos a 300 segundos resolvió este problema para nosotros.
La relación entre el
git clone
errores y el "drenaje de la conexión" es extraña y no es obvia para nosotros. Puede ser que el cambio del tiempo de espera de drenaje de la conexión provocó algunos cambios internos en la configuración de ELB que solucionaron el problema con el cierre prematuro de la conexión.Esta es la pregunta relacionada en el foro de AWS (sin respuesta aún): https://forums.aws.amazon.com/thread.jspa?threadID=258572
fuente
Tuve un problema similar, pero con un trabajo de bambú. Bamboo estaba fallando al hacer un clon local (local pero a través de un proxy SSH) de un repositorio en caché, eliminé el caché y luego funcionó, pero cada vez que intenta clonar desde el caché local hay un error. Parece un problema con la versión de bambú del proxy SSH no git per se.
fuente
Tengo el mismo error al usar BitBucket. Lo que hice fue eliminar https de la URL de mi repositorio y establecer la URL usando
HTTP
.fuente
RESUELTO CON WIFI Configuración de enrutador:
Tuve el mismo problema cuando estoy en wifi con Configuración PPPoE (inicio de sesión automático por enrutador wifi).
La velocidad de descarga de Git es muy lenta 15kb.
packet_write_wait: conexión al puerto 22 17.121.133.16: tubería rota fatal: el extremo remoto colgó inesperadamente fatal: EOF temprano fatal: falló el paquete de índice
Solución: 1. Cambió la configuración a IP dinámica, reinicie el enrutador wifi. 2. Desde el inicio de sesión del navegador web hasta el portal del proveedor de servicios de Internet (no configure PPPoE, inicie sesión automáticamente desde el enrutador wifi).
Después de cambiar Git, la velocidad de descarga es de 1.7MiB.
fuente
Esto resolvió mi problema:
fuente
Los trucos anteriores no me ayudaron, ya que el repositorio era más grande que el tamaño máximo de empuje permitido en github. Lo que funcionó fue una recomendación de https://github.com/git-lfs/git-lfs/issues/3758 que sugería presionar un poco a la vez:
fuente
Perdí unas horas probando algunas de estas soluciones, pero finalmente lo rastreé hasta un IPS corporativo (Sistema de protección contra intrusiones) que interrumpió la conexión después de que se transfirió una cierta cantidad de datos.
fuente
Para el ancho de banda compartido, intente clonar cuando la carga sea menor. De lo contrario, intente con una conexión de alta velocidad. Si aún no funciona, utilice el siguiente comando,
Y trata de clonar nuevamente. Es posible que deba cambiar esa configuración de acuerdo con su tamaño de memoria disponible.
fuente
Puede ser tan simple como un problema del servidor. Si usa GitHub, consulte https://twitter.com/githubstatus . Vi esto por primera vez en este momento y descubrí que GitHub está tambaleándose . Unos minutos más tarde volvió a funcionar bien.
fuente
Esto funcionó para mí, configurando el servidor de nombres de Google porque no se especificó ningún servidor de nombres estándar, seguido de reiniciar la red:
fuente
Me enfrenté a este problema usando git en Kubuntu. También noté la inestabilidad general en las redes y encontré una solución .
Esto solucionó los retrasos antes de que cada resolución de nombre de dominio y git comenzaran a funcionar como un encanto después de esto.
fuente
Encontré mi problema con el archivo .netrc, si es así también para usted, puede hacer lo siguiente:
Abra su archivo .netrc y edítelo para incluir credenciales de github. Escriba
nano ~/netrc
ogedit ~/netrc
Luego incluya lo siguiente: * machine github.com
nombre de usuario
contraseña secreta
máquina api.github.com
nombre de usuario
contraseña secreta *
Puede incluir su contraseña sin procesar allí, pero por razones de seguridad, genere un token de autenticación aquí token github y péguelo en lugar de su contraseña.
Espero que esto ayude a alguien
fuente
Puede deberse al tamaño de las confirmaciones que se están enviando. Desglose la cantidad de confirmaciones mediante los siguientes pasos:
Vea los últimos 5 commits y sabrá cuáles no se envían al control remoto. Seleccione una identificación de confirmación y envíe todas las confirmaciones a esa identificación:
NOTA: Acabo de comprobar mi confirmación, que podría tener el tamaño más grande; primero empujado hacia arriba hasta entonces. ¡El truco funcionó!
fuente
Estaba haciendo git push desde mi Mac OS X El Capitan. Recibía el mismo error, intenté todo para solucionarlo, lo que encontré en google / stackoverflow. En lo que respecta a la versión, estoy usando la última versión de github que es 2.7.4. He creado un proyecto en mi sistema local y quería que fuera público en mi cuenta de Github. El tamaño del proyecto no fue de alrededor de 8 MB. Me di cuenta de que cuando estaba presionando algunos archivos de un tamaño de alrededor de 1.5 MB, estaba presionando correctamente, pero con un tamaño grande falló, con el mismo error,
La única opción que tenía era impulsar los cambios en la porción de MB. Ahora he empujado todos los cambios. Esta es una solución para mí hasta que obtenga una solución para esta solución.
Por lo tanto, también puede intentar impulsar el cambio en la confirmación múltiple. O si tiene varias carpetas, puede impulsar los cambios por cada carpeta (si el tamaño de la carpeta no es grande).
Espero que esto te ayude a continuar trabajando en el proyecto.
fuente
Enfrentado el mismo problema, intente fusionarse con otra rama y tome un tirón de ellos. A mí me funciona igual.
fuente
usar en
ssh
lugar dehttp
, no es una buena respuesta para esta pregunta, pero al menos funciona para mífuente