@KennyTM pregunta muy similar, sí, pero esto es específico para github en lugar de cualquier método que use solo el protocolo git.
jhabbott
1
Para su información, consulte esta extensión de Chrome que agrega automáticamente el tamaño del repositorio al resumen del repositorio de GitHub github.com/harshjv/github-repo-size . ACTUALIZACIÓN: se ha añadido esto como una respuesta
Harsh Vakharia
Aquí hay una pista: mi repositorio más grande contiene solo imágenes de varios formatos, es un repositorio de "ilustraciones" de iconos que utilizo en varias aplicaciones. Sin embargo, GitHub informa que el tamaño es 0. Por lo tanto, supongo que solo considera el tamaño de los archivos fuente conocidos y no considera los tipos de archivos desconocidos.
Jerry Dodge
Respuestas:
276
Hay una manera de acceder a esta información a través de la API de GitHub .
Al recuperar información sobre un repositorio, una propiedad nombrada sizese valora con el tamaño de todo el repositorio (incluido todo su historial), en kilobytes.
Por ejemplo, el repositorio de Git pesa alrededor de 124 MB. Se sizevalora la propiedad de la carga útil JSON devuelta 124283.
Actualizar
El tamaño se expresa en kilobytes según el uso del disco del repositorio del lado del servidor. Sin embargo, para evitar perder demasiado espacio con repositorios con una red grande, GitHub confía en Git Alternates . En esta configuración, calcular el uso del disco contra el repositorio simple no tiene en cuenta el almacén de objetos compartidos y, por lo tanto, devuelve un valor "incompleto" a través de la llamada a la API.
Esta información ha sido proporcionada por el soporte de GitHub.
@nulltoken ¿Alguna respuesta a la consulta sobre kB / MB, etc.?
nealmcb
2
Solo bifurqué un repositorio (9 de septiembre de 2018) y es kB, no MB
Jacob Stamm
109
Si posee el repositorio, puede encontrar el tamaño exacto abriendo Configuración de su cuenta → Repositorios ( https://github.com/settings/repositories ), y el tamaño del repositorio se muestra junto a su designación.
Si no posee el repositorio, puede bifurcarlo y luego verificarlo en el mismo lugar.
Algo hacky: use la download as a zip fileopción, lea el tamaño de archivo indicado y luego cancélelo.
No recuerdo si la descarga como zip alguna vez funcionó, pero en cualquier caso, hacerlo ahora solo descarga la rama seleccionada actualmente sin historial.
¿No debería uno tener en cuenta la compresión zip? El código fuente y los archivos de texto se pueden comprimir hasta un 60%, creo.
novato
No conozco una forma de verificar la relación de compresión del zip sin completar la descarga. Por supuesto, puede completar la descarga y luego verificar la relación de compresión. Sin embargo, en ese punto, también podría descomprimir y verificar el tamaño del repositorio directamente. Realmente depende de cuán preciso sea necesario. Y si puede permitirse descargar el repositorio para verificar.
CoatedMoose
1
No pude encontrarlo Settings > Repositories, pero en su lugar encontré el tamaño del repositorio debajo Account Settings > Repositoriesde la página de inicio de su git. Por supuesto, esto solo funciona con repositorios que posee (o fork).
modulitos
La configuración de la cuenta de las organizaciones no parece mostrar el tamaño del repositorio, por lo que solo es así si posee un repositorio como usuario y no como organización.
Bennett Brown el
2
El tamaño del archivo zip no indica en absoluto el tamaño real del repositorio: 1) solo incluye una instantánea del repositorio en una revisión dada sin historial y 2) Los repositorios Git se almacenan como archivos de paquete que están comprimidos, no almacenar duplicados, etc.
kynan
74
Si utiliza el navegador Google Chrome, puede instalar la extensión GitHub Repository Size .
@BaneeIshaqueK no es lo mismo, pero te muestra el tamaño del repositorio, compruébalo aquí
Syed Shamikh Shabbir
1
ACTUALIZACIÓN Ahora, funciona perfectamente incluso en repositorios privados siempre que proporcione el token Github.
Siddhant Rimal
2
Todavía no es confiable, usa la API de GitHub, que no informa el tamaño correcto. Tengo un repositorio con nada más que imágenes (sin código), y la API informa que el tamaño es 0, aunque es el repositorio más grande que tengo. Esta extensión ni siquiera me muestra el tamaño de este repositorio en particular (probablemente porque ve 0).
Jerry Dodge
19
@larowlan gran código de muestra. Con el nuevo GitHub API V3, la declaración curl debe actualizarse. Además, el inicio de sesión ya no es obligatorio:
Debe seguir la API de GitHub. Consulte la documentación aquí para obtener todos los detalles sobre su repositorio. Requiere que realice una solicitud GET como:
GET / repos /: owner /: repositorio
Necesita reemplazar dos cosas:
: propietario : el nombre de usuario de la persona propietaria del repositorio
: repositorio - El nombre del repositorio
Por ejemplo, mi nombre de usuario maheshmnj , y tengo un repositorio, flutter-ui-nice , por lo que mi URL GET será:
Al hacer una solicitud GET, se inundará con algunos datos JSON y probablemente en la línea número 78 debería ver una clave llamada size que devolverá el tamaño del repositorio.
Consejo: cuando trabaje con JSON, le sugiero que agregue un complemento que formatee los datos de JSON para facilitar la lectura de JSON. Instala el complemento .
A) Como muchos informan, este tamaño no es exacto ni confiable. B) Incluso si lo fuera, su (s) nota (s) sobre leer visualmente el JSON, el número de línea y el formato ... todo no tiene sentido. JSON no está destinado a que los humanos lean, está destinado a que las computadoras lo lean. Debe mencionar leer la sizeclave en la respuesta, no la línea 78. Sin mencionar que los diferentes formateadores tendrán saltos de línea diferentes en diferentes lugares, dejando los datos deseados en un número de línea diferente.
Jerry Dodge
@JerryDodge lo primero que debe leer cuidadosamente es la respuesta que he mencionado `` `` debería ver una clave llamada size '' `` y dije que debería probablyverla en la línea no 78, por lo que eso indica que debería ver la clave de tamaño en algún lugar alrededor de 78 En segundo lugar, si el tamaño de la github apis no era exacto, no creo que encuentre algo más preciso que github apis.
maheshmnj
Tengo un repositorio de imágenes. Las imágenes son datos binarios. No hay archivos de texto en este repositorio en absoluto. GitHub informa en todas partes que consume 0 bytes. Incluso el sitio web / complemento.
Jerry Dodge
0
Para resumir las soluciones @larowlan, @VMTrooper y @vahid chakoshy:
#!/usr/bin/env bashif["$#"-eq 2];then
echo "$(echo "scale=2; $(curl https://api.github.com/repos/$1/$2 2>/dev/null \
| grep size | head -1| tr -dc '[:digit:]')/1024" | bc)MB"elif["$#"-eq 3]&&["$1"=="-z"];then# For some reason Content-Length header is returned only on second try
curl -I https://codeload.github.com/$2/$3/zip/master &>/dev/null
echo "$(echo "scale=2; $(curl -I https://codeload.github.com/$2/$3/zip/master \
2>/dev/null | grep Content-Length| cut -d' '-f2 | tr -d '\r')/1024/1024" \
| bc)MB"else
printf "Usage: $(basename $0) [-z] OWNER REPO\n\n"
printf "Get github repository size or, optionally [-z], the size of the zipped\n"
printf "master branch (`Download ZIP` link on repo page).\n"
exit 1fi
Respuestas:
Hay una manera de acceder a esta información a través de la API de GitHub .
GET /repos/:user/:repo
Al recuperar información sobre un repositorio, una propiedad nombrada
size
se valora con el tamaño de todo el repositorio (incluido todo su historial), en kilobytes.Por ejemplo, el repositorio de Git pesa alrededor de 124 MB. Se
size
valora la propiedad de la carga útil JSON devuelta124283
.Actualizar
El tamaño se expresa en kilobytes según el uso del disco del repositorio del lado del servidor. Sin embargo, para evitar perder demasiado espacio con repositorios con una red grande, GitHub confía en Git Alternates . En esta configuración, calcular el uso del disco contra el repositorio simple no tiene en cuenta el almacén de objetos compartidos y, por lo tanto, devuelve un valor "incompleto" a través de la llamada a la API.
Esta información ha sido proporcionada por el soporte de GitHub.
fuente
$ curl -u "{:username}" https://api.github.com/repos/{:organization}/{:repository}
. Consulte developer.github.com/v3/#authenticationSi posee el repositorio, puede encontrar el tamaño exacto abriendo Configuración de su cuenta → Repositorios ( https://github.com/settings/repositories ), y el tamaño del repositorio se muestra junto a su designación.
Si no posee el repositorio, puede bifurcarlo y luego verificarlo en el mismo lugar.
Algo hacky: use ladownload as a zip file
opción, lea el tamaño de archivo indicado y luego cancélelo.No recuerdo si la descarga como zip alguna vez funcionó, pero en cualquier caso, hacerlo ahora solo descarga la rama seleccionada actualmente sin historial.
fuente
Settings > Repositories
, pero en su lugar encontré el tamaño del repositorio debajoAccount Settings > Repositories
de la página de inicio de su git. Por supuesto, esto solo funciona con repositorios que posee (o fork).Si utiliza el navegador Google Chrome, puede instalar la extensión GitHub Repository Size .
Repo aquí: https://github.com/harshjv/github-repo-size
fuente
@larowlan gran código de muestra. Con el nuevo GitHub API V3, la declaración curl debe actualizarse. Además, el inicio de sesión ya no es obligatorio:
Por ejemplo:
devuelve
931668
(en KB), que es casi un GB.fuente
Para hacer esto con curl (sudo apt-get curl) y json pretty (sudo gem install jsonpretty json):
Reemplace YOURGITHUBUSERNAME con su nombre de usuario de GitHub (vaya figura).
Reemplace PROPIETARIO con el nombre de usuario Git del propietario del repositorio. Reemplace REPOSITORY con el nombre del repositorio.
O como un buen script Bash (pegue esto en un archivo llamado gitrepo-info):
Úselo así:
Esto me dará información sobre el repositorio pisi / reel en GitHub.
fuente
Debe seguir la API de GitHub. Consulte la documentación aquí para obtener todos los detalles sobre su repositorio. Requiere que realice una solicitud GET como:
GET / repos /: owner /: repositorio
Necesita reemplazar dos cosas:
Por ejemplo, mi nombre de usuario maheshmnj , y tengo un repositorio, flutter-ui-nice , por lo que mi URL GET será:
Al hacer una solicitud GET, se inundará con algunos datos JSON y probablemente en la línea número 78 debería ver una clave llamada size que devolverá el tamaño del repositorio.
Consejo: cuando trabaje con JSON, le sugiero que agregue un complemento que formatee los datos de JSON para facilitar la lectura de JSON. Instala el complemento .
fuente
size
clave en la respuesta, no la línea 78. Sin mencionar que los diferentes formateadores tendrán saltos de línea diferentes en diferentes lugares, dejando los datos deseados en un número de línea diferente.probably
verla en la línea no 78, por lo que eso indica que debería ver la clave de tamaño en algún lugar alrededor de 78 En segundo lugar, si el tamaño de la github apis no era exacto, no creo que encuentre algo más preciso que github apis.Para resumir las soluciones @larowlan, @VMTrooper y @vahid chakoshy:
fuente
Para un repositorio privado, deberá obtener un token de acceso personal en https://github.com/settings/tokens .
Luego use el siguiente comando curl para obtener los detalles (sustituyendo en valores por [token], [propietario] y [nombre]):
Como se mencionó anteriormente, el tamaño puede estar en MB o KB.
fuente