tag repositorio remota rama eliminar crear conectar con cambiar github

remota - ¿Ves el tamaño de un repositorio de github antes de clonarlo?



git push tag (6)

¿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 puedo encontrar la forma de verlo en github en absoluto.


@larowlan gran código de ejemplo. Con la nueva API de GitHub V3, la declaración de curvatura debe actualizarse. Además, el inicio de sesión ya no es necesario:

curl https://api.github.com/repos/$2/$3 2> /dev/null | grep size | tr -dc ''[:digit:]''


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 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 40Mb. La propiedad de size de la carga útil JSON devuelta se valora en 40764 .

Actualizar:

De hecho, el tamaño se expresa en kilobytes según el uso del disco del repositorio simple 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, el cálculo del 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 dada por el soporte de GitHub.


Para hacer esto con curl (sudo apt-get curl) y json pretty (sudo gem install jsonpretty json)

curl -u "YOURGITHUBUSERNAME" http://github.com/api/v2/json/repos/show/OWNER/REPO | jsonpretty

reemplace YOURGITHUBUSERNAME con su nombre de usuario de git hub (ver figura). reemplace el PROPIETARIO con el nombre de usuario git del propietario del repositorio reemplace REPO con el nombre del repositorio.

O como un buen script de bash (pegue esto en un archivo llamado gitrepo-info)

#!/bin/bash if [ $# -ne 3 ] then echo "Usage: gitrepo-info <username> <owner> <repo>" exit 65 fi curl -u "$1" http://github.com/api/v2/json/repos/show/$2/$3|jsonpretty

usar como tal

gitrepo-info larowlan pisi reel

Esto me dará información sobre el repositorio de pisi / reel en github.


Para resumir las soluciones @larowlan, @VMTrooper y @vahid chakoshy:

#!/usr/bin/env bash if [ "$#" -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 1 fi


Si es el propietario del repositorio, puede encontrar el tamaño exacto abriendo Account 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: usa la opción de download as a zip file , lee el tamaño de archivo indicado y luego cancela.

No recuerdo si la descarga como zip funcionó, pero en cualquier caso, hacerlo ahora solo descarga la rama seleccionada actualmente sin historial.