Arreglando el error fatal de EOFs tempranos de Git Clone
los “git clon” comando - como su nombre sugiere - le permite duplicar un repositorio completo de remoto a local, o viceversa. Aunque es un comando git bastante simple y directo, a veces, todavía pueden surgir problemas.
A principios de esta semana, recibí un error al ejecutar git clon, y el error se parece a lo siguiente:
error: paquete-objetos murieron de señal 9.20 MiB | 79.00 KiB / s error: git upload-pack: git-pack-objects murió con error. fatal: git upload-pack: aborting debido a la posible corrupción del repositorio en el lado remoto. remoto: abortar debido a la posible corrupción del repositorio en el lado remoto. fatal: primeros EOFs: 1% (66/3818), 6.04 MiB | 53.00 kBB / s
Después de investigar y depurar, estas son las dos causas principales del error fatal..
1. Conexión a Internet lenta
Causa de error
El repositorio es enorme y la conexión a Internet es simplemente demasiado lenta.
Esto vino de mi experiencia personal: estaba intentando clonar un repositorio de aproximadamente 1.5Gb. Continuó fallando a una tasa diferente de% descargado, a veces después de 20Mb, a veces después de 60Mb, 200Mb, etc..
Solución
Cambiar a una conexión a Internet más rápida y estable ayuda. Con una conexión más rápida, pude acercarme a 1.5Gb. En un momento puedo clonar sin ningún error.
2. enorme repositorio
Causa de error
El repositorio que está intentando clonar es grande, en términos de tamaño de archivo. Al intentar clonarlo, el servidor remoto simplemente no tiene suficiente memoria para hacer frente a la ejecución.
Solución
Giro de la compresión. Git clone parcialmente. Cuando tenga éxito, clona el resto..
-
Primero, apaga la compresión Git.
git config --global core.compression 0
-
Luego haz un clon parcial del repositorio con
--profundidad 1
parámetro. Reemplazar[email protected]/path/to/git_repo/
con la ruta real al repositorio.git clone â ???? profundidad 1 ssh: //[email protected]/ruta/para/git_repo/
-
A continuación, recupera el resto del repositorio..
git fetch --unshallow
-
Finalmente, termínalo con un tirón regular..
git fetch --unshallow
Estos métodos resolvieron mi problema. Espero eso ayude!