when - what is the command to delete a remote branch in git?
Indicador de progreso para clon git (5)
Actualmente estoy haciendo un clon de git que ha tardado unos minutos hasta ahora y me gustaría saber si va a terminar pronto.
Con Git 2.10 (Q3 2016), git clone --progress
será más detallado.
Ver commit 38e590e por Jeff King ( peff
)
(Fusionada por Junio C Hamano en commit a58a8e3 Ago. 4, 2016)
clone
: use un medidor de progreso real para la verificación de conectividadDebido a que la comprobación de conectividad inicial para un repositorio clonado puede ser lenta, 0781aa4 (
clone
: avisar al usuario cuando se ejecutacheck_everything_connected
, 2013-05-03) agregó un medidor de progreso "falso"; simplemente decimos "Checking connectivity
" cuando comienza, y "done
" al final, sin nada entre.Ya que
check_connected()
ahora sabe cómo hacer un medidor de progreso real, podemos dejar nuestro falso y usarlo en su lugar.
¿Es posible obtener una barra de progreso al hacer un git clone
? Me estoy preguntando porque actualmente estoy haciendo un clon de git que ha demorado unos minutos hasta ahora y me gustaría saber si va a terminar pronto.
¿Qué hay de git clone --progress
?
Es posible que desee echar un vistazo a la carpeta
$project/.git/objects/pack
Durante la clonación, debería haber un archivo que comience con tmp_pack_
. Contiene el paquete de git que se está descargando actualmente.
Con esta información podrás observar la duración del globo ocular.
Realmente no. Hay varias etapas para git clone
:
- descubrir los objetos que deben enviarse ("Contar objetos: nnn")
- comprimir y enviar esos objetos
- indexar el paquete recibido
- revisa los archivos recibidos
La etapa 1 consiste en recorrer el gráfico de confirmación de cada rama, encontrando todas las confirmaciones y objetos asociados: dado que no se sabe de antemano cuántas confirmaciones hay, el progreso de esta no se puede evaluar. Lamentablemente, a menudo es aquí donde se ocupa gran parte del tiempo en una operación de clonación.
La etapa 2 tiene un contador de progreso, aunque cuenta los objetos en lugar del volumen (por lo que su velocidad varía, especialmente si el repositorio tiene grandes manchas)
Las etapas 3 y 4 tienen contadores de progreso, aunque suelen ser mucho más rápidos que las dos etapas anteriores.
Tu puedes hacer:
du -s .git
para monitorear los cambios en el tamaño del contenido temporal para tener una idea.
watch du -s .git
Le permite monitorear sin tener que volver a escribir el comando. Algo así como el de una línea a continuación le dará periódicamente la tasa de acumulación de datos en kB por segundo:
delay=5; prev=`du -sk .git/ | cut -f 1`; sleep $delay; while true; do cur=`du -sk .git/ | cut -f 1`; expr /( $cur - $prev /) / $delay ; prev=$cur; sleep $delay; done