¿Cómo puedo ver el tamaño de un repositorio de GitHub antes de clonarlo?
¿Hay alguna manera de ver qué tan grande es un repositorio Git en GitHub antes de decidir clonarlo?
Esto parece una estadística realmente obvia/básica, pero no encuentro cómo verla en GitHub.
Hay una manera de acceder a esta información a través de la API de GitHub .
- Sintaxis:
GET /repos/:user/:repo
- Ejemplo: https://api.github.com/repos/git/git
Al recuperar información sobre un repositorio, una propiedad denominada 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. La size
propiedad de la carga útil JSON devuelta tiene un valor de 124283
.
Actualizar
De hecho, el tamaño se expresa en kilobytes según el uso del disco del repositorio básico del lado del servidor. Sin embargo, para evitar desperdiciar demasiado espacio con repositorios con una red grande, GitHub confía en Git Alternates . En esta configuración, el cálculo del uso del disco en comparación con el repositorio básico no tiene en cuenta el almacén de objetos compartidos y, por lo tanto, devuelve un valor "incompleto" a través de la llamada API.
Esta información ha sido proporcionada por el soporte de GitHub.
Si es propietario del repositorio, puede encontrar el tamaño exacto abriendo Configuración de cuenta → Repositorios ( https://github.com/settings/repositories ), y el tamaño del repositorio se muestra junto a su designación.
Si no es propietario del repositorio, puede bifurcarlo y luego consultarlo en el mismo lugar.
Nota: Es posible que sea el propietario de una organización que aloja varios repositorios y aún no tenga una función en un repositorio específico dentro de la organización. De forma predeterminada, incluso si crea un repositorio en la organización de su propiedad, no se le agrega al repositorio y, por lo tanto, no ve ese repositorio en settings/repositories
. Así que agréguese a la configuración del repositorio ( https://github.com/org-name/repo-name/settings
) para verlo enhttps://github.com/settings/repositories
Algo hacky: use la download as a zip file
opción, lea el tamaño del archivo indicado y luego cancélelo.
No recuerdo si alguna vez funcionó la descarga como zip, pero en cualquier caso, al hacerlo ahora solo se descarga la rama actualmente seleccionada sin historial.
Si utiliza el navegador Google Chrome, puede instalar la extensión GitHub Repository Size .
Repositorio aquí: https://github.com/harshjv/github-repo-size
@larowlan gran código de muestra. Con la nueva API de GitHub V3, es necesario actualizar la declaración curl. Además, ya no es necesario iniciar sesión:
curl https://api.github.com/repos/$2/$3 2> /dev/null | grep size | tr -dc '[:digit:]'
Por ejemplo:
curl https://api.github.com/repos/dotnet/roslyn 2> /dev/null | grep size | tr -dc '[:digit:]'
devuelve 931668
(en KB), que es casi un GB.
Un repositorio privado requiere autenticación. Una forma es con un token de acceso personal de GitHub:
curl -u myusername:$PERSONAL_ACCESS_TOKEN https://api.github.com/repos/$2/$3 2> /dev/null | grep size | tr -dc '[:digit:]'