Busqué en Google y encontré muchas soluciones, pero ninguna me funciona.
Estoy intentando clonar desde una máquina conectándome al servidor remoto que está en la red LAN.
Ejecutar este comando desde otra máquina causa un error.
Pero ejecutar el mismo comando de clonación usando git: //192.168.8.5 ... en el servidor está bien y es exitoso.
Algunas ideas ?
user@USER ~
$ git clone -v git://192.168.8.5/butterfly025.git
Cloning into 'butterfly025'...
remote: Counting objects: 4846, done.
remote: Compressing objects: 100% (3256/3256), done.
fatal: read error: Invalid argument, 255.05 MiB | 1.35 MiB/s
fatal: early EOF
fatal: index-pack failed
He agregado esta configuración .gitconfig
pero tampoco ayuda.
Usando la versión git 1.8.5.2.msysgit.0
[core]
compression = -1
Respuestas:
Primero, apague la compresión:
A continuación, hagamos un clon parcial para truncar la cantidad de información que se reduce:
Cuando eso funcione, vaya al nuevo directorio y recupere el resto del clon:
o, alternativamente,
Ahora, haz un tirón regular:
Creo que hay un error con msysgit en las versiones 1.8.x que exacerba estos síntomas, por lo que otra opción es probar con una versión anterior de git (<= 1.8.3, creo).
fuente
git clone --depth 1 git@host:user/my_project.git
.git pull --all
no funciona. Debidogit clone --depth 1
a establecerá el rango de recuperación solo una rama. Entonces tenemos que editar .git / config primero.Este error puede ocurrir para las necesidades de memoria de git. Puede agregar estas líneas a su archivo de configuración global de git, que está
.gitconfig
en$USER_HOME
, para solucionar ese problema.fuente
remote: Enumerating objects: 43, done. remote: Counting objects: 100% (43/43), done. remote: Compressing objects: 100% (24/24), done. error: inflate returned -55/26) fatal: unpack-objects failed
finalmente resuelto por
git config --global core.compression 9
De un hilo de problema de BitBucket:
De la documentación de Git:
fuente
git repack
en combinación con esta solución y luego funcionó.--compression 0
no funcionó ni todos los.gitconfig
cambios sugeridos anteriormente.Como @ingyhere dijo:
Clon superficial
Primero, apague la compresión:
A continuación, hagamos un clon parcial para truncar la cantidad de información que se reduce:
Cuando eso funcione, vaya al nuevo directorio y recupere el resto del clon:
o, alternativamente,
Ahora, haz un tirón:
Luego, para resolver el problema de su sucursal local solo maestro de seguimiento
abra su archivo de configuración de git (
.git/config
) en el editor de su elecciónEn donde dice:
cambiar la linea
a
Haga una búsqueda de git y git extraerá todas sus ramas remotas ahora
fuente
En mi caso esto fue bastante útil:
Esto limitará el pago solo a la rama mencionada, por lo tanto, acelerará el proceso.
Espero que esto ayude.
fuente
Intenté todos esos comandos y ninguno funciona para mí, pero lo que funcionó fue cambiar el git_url a http en lugar de ssh
si es el comando clone do:
de lo contrario, si está utilizando un repositorio existente, hágalo con
Espero que esto ayude a alguien!
fuente
https
y luego vuelva a configurar el control remotossh
.Recibí este error cuando git se quedó sin memoria.
Liberar algo de memoria (en este caso: dejar que termine un trabajo de compilación) y volver a intentarlo funcionó para mí.
fuente
En mi caso fue un problema de conexión. Estaba conectado a una red wifi interna, en la que tenía acceso limitado a recursos. Eso estaba dejando que Git hiciera la búsqueda, pero en un momento dado se estrelló. Esto significa que puede ser un problema de conexión de red. Compruebe si todo funciona correctamente: antivirus, firewall, etc.
Por lo tanto, la respuesta de elin3t es importante porque ssh mejora el rendimiento de la descarga para evitar problemas de red.
fuente
Establecer la configuración de abajo no funciona para mí.
Como comentario anterior, podría ser el problema de memoria de git. Por lo tanto, trato de reducir los hilos de trabajo (de 32 a 8). Para que no obtenga muchos datos del servidor al mismo tiempo. Luego también agrego "-f" para forzar la sincronización de otros proyectos.
Entonces funciona bien ahora.
fuente
Una respuesta anterior recomienda configurar a 512m. Diría que hay razones para pensar que es contraproducente en una arquitectura de 64 bits. La documentación para core.packedGitLimit dice:
Si desea probarlo, verifique si lo tiene configurado y luego elimine la configuración:
fuente
Tenga en cuenta que Git 2.13.x / 2.14 (Q3 2017) eleva el valor predeterminado
core.packedGitLimit
que influyegit fetch
:El valor límite predeterminado de paquete-git se ha elevado en plataformas más grandes ( de 8 GiB a 32 GiB ) para salvar "
git fetch
" de una falla (recuperable) mientras "gc
" se ejecuta en paralelo.Ver commit be4ca29 (20 abr 2017) por David Turner (
csusbdt
) .Ayudado por: Jeff King (
peff
) .(Fusionada por Junio C Hamano -
gitster
- en commit d97141b , 16 de mayo de 2017)fuente
Usando la respuesta @cmpickle, construí un script para simplificar el proceso de clonación.
Está alojado aquí: https://gist.github.com/gianlucaparadise/10286e0b1c5409bd1049d67640fb7c03
Puede ejecutarlo usando la siguiente línea:
fuente
En mi caso, el problema no era ninguno de los parámetros de configuración de git sino el hecho de que mi repositorio tenía un archivo que excedía el tamaño máximo permitido en mi sistema. Pude comprobarlo intentando descargar un archivo grande y obteniendo un "Límite de tamaño de archivo excedido" en Debian.
Después de eso edité mi archivo /etc/security/limits.conf agregando y al final las siguientes líneas: * hard fsize 1000000 * soft fsize 1000000
Para realmente "aplicar" los nuevos valores límite, debe volver a iniciar sesión
fuente
Tangencialmente relacionado y solo útil en caso de que no tenga acceso a la raíz y extraiga manualmente Git de un RPM (con rpm2cpio) u otro paquete (.deb, ..) en una subcarpeta. Caso de uso típico: intenta utilizar una versión más nueva de Git sobre la obsoleta en un servidor corporativo.
Si falla el clon de git
fatal: index-pack failed
sin una mención inicial de EOF, sino un mensaje de ayudausage: git index-pack
, hay una discrepancia de versión y debe ejecutar git con el--exec-path
parámetro:Para que esto suceda automáticamente, especifique en su
~/.bashrc
:fuente
Tuve los mismos registros de error, usando git (v2.17.1) sobre ssh. En mi caso la solución es:
git gc
.Consulte la documentación de git-gc: https://git-scm.com/docs/git-gc .
P.ej:
Ahora puedo clonar este repositorio sin errores, por ejemplo, en el lado del cliente:
El comando
git gc
puede ayudar llamado en el lado del cliente git para evitar ungit push
problema similar .Otra solución (pirateo) es descargar el último maestro sin historial:
Existe la posibilidad de que no se produzca un desbordamiento del búfer.
fuente
En mi caso, nada funcionó cuando el protocolo era https, luego cambié a ssh y me aseguré de sacar el repositorio de la última confirmación y no toda la historia, y también una rama específica. Esto me ayudó:
git clone --depth 1 "ssh: .git" --branch "specific_branch”
fuente
Mientras tanto, apagué todas las descargas que estaba haciendo, lo que probablemente liberó algo de espacio y eliminó el ancho de banda.
fuente
El problema de git-daemon parece haberse resuelto en v2.17.0 (verificado con un v2.16.2.1 que no funciona). Es decir, la solución de seleccionar texto en la consola para "bloquear el búfer de salida" ya no debería ser necesaria.
Desde https://github.com/git/git/blob/v2.17.0/Documentation/RelNotes/2.17.0.txt :
fuente
Tengo el mismo problema. Siguiendo el primer paso anterior pude clonar, pero no puedo hacer nada más. No se pueden recuperar, extraer o retirar ramas viejas.
Cada comando se ejecuta mucho más lento de lo habitual, luego muere después de comprimir los objetos.
Esto también sucede cuando tus árbitros están usando demasiada memoria. Podar la memoria me arregló esto. Simplemente agregue un límite a lo que busca así ->
Esto buscará los archivos pero con las últimas 100 ediciones en sus historiales. Después de esto, puede hacer cualquier comando bien y a velocidad normal.
fuente
Intenté la mayoría de las respuestas aquí, recibí el error con el cliente PUTTY SSH con todas las constelaciones posibles.
Una vez que cambié a OpenSSH, el error desapareció (elimine la variable de entorno GIT_SSH y reinicie git bash).
Estaba usando una máquina nueva y las versiones más nuevas de git. En muchas otras máquinas / antiguas (también AWS) funcionó como se esperaba con PUTTY también sin ninguna configuración de git.
fuente
He experimentado el mismo problema. El REPO era demasiado grande para ser descargado a través de SSH. Al igual que @ elin3t recomienda, he clonado sobre HTTP / HTTPS y cambio la URL REMOTA en .git / config para usar el SSH REPO.
fuente
Tengo el mismo problema que a continuación cuando ejecuto
git pull
Luego verifiqué
git status
, Hubo tantos cambios no confirmados que arreglé el problema al confirmar y presionar todos los cambios no confirmados.fuente
Ninguna de las soluciones anteriores funcionó para mí.
La solución que finalmente funcionó para mí fue cambiar el cliente SSH. La variable de entorno GIT_SSH se configuró en OpenSSH proporcionado por Windows Server 2019. Versión 7.7.2.1
C:\Windows\System32\OpenSSH\ssh.exe
Simplemente instalé masilla, 0.72
choco install putty
Y cambió GIT_SSH a
C:\ProgramData\chocolatey\lib\putty.portable\tools\PLINK.EXE
fuente
Intenté casi todas las sugerencias hechas aquí, pero ninguna funcionó. Para nosotros, el problema era temperamental y empeoraba cada vez más a medida que los repositorios se volvían más grandes (en nuestro esclavo de compilación Jenkins Windows).
Terminó siendo la versión de ssh utilizada por git. Git se configuró para usar alguna versión de Open SSH, especificada en el archivo .gitconfig de los usuarios a través de la variable core.sshCommand. Quitar esa línea lo arregló. Creo que esto se debe a que Windows ahora viene con una versión más confiable / compatible de SSH que se usa por defecto.
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
De un clon de git, estaba obteniendo:
Después de reiniciar mi máquina, pude clonar el repositorio bien.
fuente
Si está en Windows, ¿es posible que desee comprobar que git clone falla con "index-pack"? .
Básicamente, después de ejecutar su
git.exe daemon ...
comando, seleccione un texto de la ventana de esa consola. Vuelva a intentar la extracción / clonación, ¡podría funcionar ahora!Vea esta respuesta para más información.
fuente
Asegúrese de que a su unidad le quede suficiente espacio
fuente
Ninguno de estos funcionó para mí, pero el uso de la herramienta integrada de Heroku funcionó.
Documentación aquí: https://devcenter.heroku.com/articles/git-clone-heroku-app
fuente