tipos tag remove practices etiquetas crear commits commands best git git-clone

tag - ¿Cómo hacer git clon más rápido con múltiples hilos?



git tag commits (4)

Al menos puede intentar y mitigar el problema, con un clon superficial (lo que significa que no se debe clonar todo el historial):

git clone --depth 1 <repository>

Asegúrate de tener un git 1.9+, como expliqué en " ¿Es git clone --depth 1 (clon poco profundo) más útil de lo que parece? ".

Nota: ¡Git 2.5 (Q2 2015) incluso admite un único compromiso de recuperación! Consulte " Obtener un compromiso específico de un repositorio de git remoto ".

Mi velocidad de Internet a Github nunca fue rápida, y se mantiene a 50 kb / s (mi velocidad de Internet es de 20 Mbits, que no es muy rápida, pero sigue siendo mucho más rápida que esto). El repositorio es multi-gb por mis estimaciones, por lo que tomará mucho tiempo.

¿Admite Git la descarga de los objetos utilizando multiple-threads para que pueda maximizar mi velocidad de Internet?


He visto un comportamiento similar en Windows, donde la causa fue el antivirus de Windows que se configuró para ser muy agresivo y git estaba transfiriendo muchos archivos pequeños. El arranque dual a Linux dio la máxima velocidad para los clones de git.

Si tiene las especificaciones, considere crear una instalación de prueba de Windows (por ejemplo, virtualmente utilizando VirtualBox o vmware player) donde instale un Windows virgen desde el principio y solo agregue el software git necesario. A continuación, puede ver si el problema es "dentro" o "fuera" git. Mi opinión personal es que esto será rápido.


Pruebe git config --global http.postBuffer 524288000 .


git clone --jobs

Esto podría ayudar si tienes múltiples submódulos:

-j <n> , --jobs <n>

El número de submódulos recuperados al mismo tiempo. Por defecto a la opción submodule.fetchJobs .

Agregado en v2.9.0 (marzo de 2016) en commit 72290d6 :

clon: permite un argumento explícito para clones de submódulos paralelos

Me pregunto si esto ayudará si tiene dos módulos en un solo servidor. TODO benchmark en GitHub.

Definitivamente debería hacerlo si tiene submódulos de diferentes servidores.

Me pregunto si Git es lo suficientemente inteligente como para obtener de diferentes servidores lo más posible en un momento dado en lugar de posiblemente colocar todos los trabajos en un solo servidor al mismo tiempo de forma aleatoria.