tipos tag remove practices etiquetas crear best git push bitbucket broken-pipe

remove - git tags best practices



Tubería rota al empujar al repositorio git. (3)

Estoy tratando de presionar por primera vez un código a mi repositorio git pero me aparece el siguiente error:

Counting objects: 222026, done. Compressing objects: 100% (208850/208850), done. Write failed: Broken pipe222026) error: pack-objects died of signal 13 fatal: The remote end hung up unexpectedly error: failed to push some refs to ''ssh://[email protected]/<...>''

Intenté aumentar el tamaño del búfer http ( git config http.postBuffer 524288000 ), intenté git repack , pero no funcionó.

Pude empujar un código de tamaño muy similar a otro repositorio (no funcionaba como este, pero después del git repack funcionó). Estoy tratando de empujarlo a bitbucket.

¿Algunas ideas?


Encontré el mismo problema cuando subí mis gigabytes de datos al repositorio de github. Aumentar el tamaño del búfer HTTP no funcionó para este tamaño de datos. No estoy seguro si es un problema de git en sí o del servidor github. De todos modos, hice un script de shell para manejar este problema, que actualiza los archivos en el directorio actual paso a paso, en cada paso menos de 100 MB de datos. Está funcionando bien para mí. Lleva tiempo pero puedo separar la pantalla y esperar toda la noche.

Aquí está el script de shell: https://gist.github.com/sekika/570495bd0627acff6c836de18e78f6fd


La solución simple es aumentar el tamaño del búfer HTTP posterior para permitir que los fragmentos más grandes se desplacen al repositorio remoto. Para hacer eso, simplemente escriba:

git config http.postBuffer 52428800

El número está en bytes, por lo que en este caso lo he configurado en 50 MB. El valor predeterminado es 1MB.


Tenga en cuenta que un empuje todavía puede congelarse (incluso con un aumento de PostBuffer) cuando los archivos de su paquete están dañados (es decir, los objetos del paquete fallan)

Eso se arreglará en git 2.9 (junio de 2016)

Consulte commit c4b2751 , commit df85757 , commit 3e8b06d , commit c792d7b , commit 739cf49 (19 de abril de 2016) por Jeff King ( peff ) .
(Fusionada por Junio ​​C Hamano - gitster - in commit d689301 , 29 de abril de 2016)

" git push " desde un repositorio corrupto que intenta empujar un gran número de refs en punto muerto; el subproceso para transmitir avisos de rechazo para estas actualizaciones de referencia bloqueadas al escribirlas en el subproceso principal, después del subproceso principal en el extremo receptor se da cuenta de que el envío falló y decide no leer estos avisos y devolver un error.

Commit 739cf49 tiene todos los detalles.

send-pack : cierre la tubería de demux antes de terminar el proceso asíncrono

Esto corrige un punto muerto en el lado del cliente cuando se empuja un gran número de refs desde un repositorio dañado.