¿Cuál es una forma sencilla de encontrar el tamaño de mi repositorio de git? Y no me refiero a du -h
en el directorio raíz de mi repositorio. Tengo muchos archivos ignorados, por lo que el tamaño sería diferente del tamaño total de mi repositorio. Básicamente, quiero saber la cantidad de datos que se transferirían al clonar mi repositorio.Buscar tamaño de git repo
Respuesta
ACTUALIZACIÓN 1.8.3 git introdujo una manera más eficiente para obtener un tamaño áspera:
git count-objects -vH
(ver respuesta por @VonC)
Para diferentes ideas de "tamaño completo" se puede utilizar:
git bundle create tmp.bundle --all
du -sh tmp.bundle
cerca (pero no exigir :)
git gc
du -sh .git/
Con este último, también sería contar:
- ganchos
- config (mandos a distancia, las ramas de empuje, ajustes (espacios en blanco, fusión, alias, el usuario detalles etc.)
- stashes (ver Can I fetch a stash from a remote repo into a local branch? también)
- caché rerere (que puede obtener considerable)
- reflogs
- copias de seguridad (de filtro de rama, por ejemplo) y varias otras cosas (intermedio estado de rebase, biseccionar etc.) de comandos
Gracias ! El primer comportamiento refleja con mayor precisión el tamaño total de clon, pero el segundo también fue bastante cercano. – mschallert
Nota: esta respuesta no está actualizada. Consulte la [respuesta] de VonC (http://stackoverflow.com/a/16163608/241536) en lugar de las versiones de git> = 1.8.3. –
Tenga en cuenta también mi respuesta es una forma más completa, que podría tener su propio mérito. – sehe
El GIT
git count-objects -v
le dará una buena estimación del tamaño del repositorio git. Sin el distintivo -v, solo te dice el tamaño de tus archivos desempaquetados. Este comando puede no estar en su $ PATH, puede que tenga que rastrearlo (en Ubuntu lo encontré en/usr/lib/git-core /, por ejemplo).
Desde la página de manual de Git:
-v, --verbose
Además de la cantidad de objetos sueltos y espacio en disco consumido, informa del número de objetos de paquete , número de paquetes, espacio de disco consumido por esos paquetes y número de objetos que pueden ser eliminados ejecutando git prune-packed.
Su salida será similar a la siguiente:
count: 1910
size: 19764
in-pack: 41814
packs: 3
size-pack: 1066963
prune-packable: 1
garbage: 0
La línea que está buscando es size-pack
. Ese es el tamaño de todos los objetos de confirmación empaquetados, o el tamaño más pequeño posible para el nuevo repositorio clonado.
En mi experiencia, 'git count-objects -v' funciona cuando' git-count-objects -v' no (porque no está en mi PATH). – mwolfetech
No funciona como se esperaba, produce siempre size-pack: 0 – psihodelia
@psihodelia Parece que debe ejecutar 'git gc' antes de ejecutar' git count-objects -v' porque es posible que su repositorio no se haya empaquetado todavía. Consulte la primera respuesta aquí para obtener evidencia: http://stackoverflow.com/questions/3532740/do-i-ever-need-to-run-git-gc-on-a-bare-repo –
Tenga en cuenta que, dado que git 1.8.3 (April, 22d 2013):
"
git count-objects
" aprendidas "--human-readable
" alias opción "-H
" para mostrar varios números grandes enKi
/Mi
/GiB
reducido como sea necesario.
Eso podría combinarse con la opción -v
mencionado por Jack Morrison en his answer.
git gc
git count-objects -vH
(git gc
es importante, como se ha mencionado por A-B-B 's answer)
Plus (todavía GIT 1.8.3), la salida es más completa:
"
git count-objects -v
" aprendieron a informa los paquetes de paquetes temporales sobrantes y otra basura en el almacén de objetos.
Si usas git LFS, git count-objects no cuenta tus binarios, sino solo los punteros a ellos.
Si sus archivos LFS son gestionados por Artifactorys, se debe utilizar la API REST:
- Obtener el API www.jfrog.com desde cualquier motor de búsqueda
- mirada a obtener almacenamiento Resumen Información
Si bien este enlace puede responder a la pregunta, se desaconsejan las respuestas de enlace en Stack Overflow, puede mejorar esta respuesta tomando partes vitales del enlace y poniéndolo en su respuesta, esto asegura que su respuesta siga siendo una respuesta si el enlace se cambia o se elimina :) – WhatsThePoint
- 1. Git repo inside repo
- 2. Dividir enorme repo git
- 3. git initialize remote repo
- 4. clonación git repo
- 5. Reinicializar Git Repo
- 6. Cómo reemplazar git repo?
- 7. git submódulo de Hg repo?
- 8. git: herramienta de monitoreo repo
- 9. Escuchando cambios de Git Repo
- 10. ¿Cómo grep archivos en git repo?
- 11. Git Clone en otro Git Repo existente
- 12. Reemplazar git repo remoto (Heroku)
- 13. Convertir Git Repo en Darcs
- 14. Buscar archivos en git repo sobre x megabytes, que no existen en HEAD
- 15. Importación de un git repo como una rama en otro git repo
- 16. Cómo eliminar un blob de git repo
- 17. Actualizando el nombre de git repo
- 18. Descargue un repo Git de BitBucket
- 19. Incluye marco de prueba en git repo?
- 20. Git Fetch no funciona con repo desnuda, pero git pull trabaja en repo normales
- 21. Reducir el tamaño del repositorio git
- 22. Empujando subárboles en un git repo
- 23. llevar git repo a una cierta revisión
- 24. ¿Cómo subir un git repo a gerrit?
- 25. ¿Es seguro usar un copiado git repo?
- 26. Cómo agregar colaboradores a openshift git repo
- 27. Añadir svn repo al repositorio git existente?
- 28. Retrospectivamente add --recursive a un git repo
- 29. git branch Dividir en repo separada
- 30. Desechando la vieja historia en git repo lleno de binarios
[¿Ves el tamaño de un repositorio github antes de clonarlo?] (Https://stackoverflow.com/questions/8646517/see-the-size-of-a-github-repo-before-cloning-it) – azzamsa