2011-10-09 11 views
11

Estoy intentando empujar mi código en GitHub, pero casi cada vez que cumplir con este errorError de RPC; resultado = 28, código HTTP = 0

error: RPC failed; result=28, HTTP code = 0 
fatal: The remote end hung up unexpectedly 
fatal: The remote end hung up unexpectedly 

Es tan molesto. ¿Alguien sabe cómo arreglar esto?

Actualización Después de googlear, leí que ejecutar git config --global http.postBuffer 524288000 podría resolver el problema. Pero incluso después de ejecutar ese comando, todavía encontré el problema.

Respuesta

27

uso git: // o git + ssh: // https, no

+0

Agradable. Esto funciona. Utilicé el https porque, por alguna razón, el ssh no podía funcionar con mi proxy de oficina. El error anterior solo ocurrió cuando estaba trabajando en mi casa. Dado que la URL remota podría cambiarse fácilmente de git a https viceversa, esta solución es excelente. Gracias. –

+3

¿Hay alguna explicación de por qué ocurrió el error con la URL https? –

+0

Lo sentimos, no se ha encontrado nada de los chicos de github, pero el problema se remonta al pasado con la receta de singe para reparar –

0

me encontré con el mismo problema (que trabaja detrás de un proxy y no acceder a git: //)

tal vez depende en la situación de la red?

haga el "empuje" más veces y me funciona. (empujados total de 5 veces, 2 exitosas)

por cierto, estoy usando el "https_proxy" variable de entorno, no el "http_proxy"

0

Ese código de error es un error de tiempo de espera en el cliente. Aunque sospecho que el lado del servidor se está cerrando como sugiere el mensaje. Para tratar de obtener más información que podría intentar establecer la variable de entorno GIT_CURL_VERBOSE=1 para su empuje por ejemplo:

GIT_CURL_VERBOSE=1 git push origin

Esto le puede dar una indicación de si es el momento de salida del cliente o el servidor de desconectar que es el original error. Hay varias cosas que puede hacer para asegurarse de que no siempre encuentre este error.

  1. Compruebe los tiempos de espera en el lado del servidor, si puede controlarlo. Pueden ser muy pequeños. Esto depende de la implementación del servidor.
  2. Revise su repositorio para archivos grandes, particularmente archivos binarios. Estos pueden manejarse de manera diferente.
  3. Asegúrese de no establecer http.lowSpeedLimit, http.lowSpeedTime inadvertidamente: deben estar desactivados de forma predeterminada (mirando el código).

Las grandes repositorio

Para el punto 2. Hay una serie de cosas que puede hacer si sospecha que el paquete está empujando es objetos de gran tamaño. Esta entrada de blog es bastante detallado sobre el tema:

http://blogs.atlassian.com/2014/05/handle-big-repositories-git/

no creo que la http.postBuffer es realmente una solución a este problema.

0

En general, estas condiciones de error y códigos se deben a una configuración incorrecta de la red oa una conectividad a Internet no confiable en este momento. Por lo general, después de algunos intentos, todo debería volver a la normalidad. Pruebe diferentes protocolos de conexión si el problema persiste después de varios intentos.

0

No es necesario usar SSH aquí como se menciona en la respuesta aceptada. Recientemente se quedó atascado con el mismo problema.Elevar el MiB tamaño de búfer predeterminado Http 1 en un valor grande:

git config --global http.postBuffer 1048576000 

continuación, intente git push remote branch_name.

Espero que ayude a alguien.

Cuestiones relacionadas