@KennyTM question très similaire, oui, mais cela est spécifique à github plutôt qu'à toute méthode utilisant uniquement le protocole git.
jhabbott
1
Pour info, consultez cette extension chrome qui ajoute automatiquement la taille du référentiel au récapitulatif du référentiel de GitHub github.com/harshjv/github-repo-size . MISE À JOUR: ajouté ceci comme réponse
Harsh Vakharia
Voici un indice: mon plus grand référentiel absolu ne contient que des images de différents formats, c'est un dépôt "d'illustrations" d'icônes que j'utilise dans diverses applications. Pourtant, GitHub signale la taille à 0. Je suppose donc qu'il ne prend en compte que la taille des fichiers source connus et ne prend pas en compte les types de fichiers inconnus.
Jerry Dodge
Réponses:
276
Il existe un moyen d'accéder à ces informations via l' API GitHub .
Lors de la récupération d'informations sur un référentiel, une propriété nommée sizeest évaluée avec la taille de l'ensemble du référentiel (y compris tout son historique), en kilo-octets.
Par exemple, le référentiel Git pèse environ 124 Mo. La sizepropriété de la charge utile JSON retournée est évaluée à 124283.
Mettre à jour
La taille est en effet exprimée en kilo-octets en fonction de l'utilisation du disque du référentiel nu côté serveur. Cependant, afin d'éviter de gaspiller trop d'espace avec des référentiels avec un grand réseau, GitHub s'appuie sur Git Alternates . Dans cette configuration, le calcul de l'utilisation du disque par rapport au référentiel nu ne tient pas compte du magasin d'objets partagés et renvoie donc une valeur "incomplète" via l'appel d'API.
Ces informations ont été fournies par le support GitHub.
N'est-ce pas la taille en Mo maintenant -> Ce n'est pas si clair, il semble que cela dépend du référentiel interrogé ... Les petits dépôts exposent la taille en octets, les grands en mégaoctets. J'ai ouvert un problème au niveau du support GitHub. Je mettrai à jour la réponse dès que le problème sera clos.
nulltoken
6
Cela ne semble pas fonctionner pour les dépôts privés. Suis-je en train de manquer quelque chose? Merci!
@nulltoken Une réponse à la question sur kB / MB etc?
nealmcb
2
Je viens de bifurquer un repo (9 septembre 2018) et c'est ko, pas MB
Jacob Stamm
109
Si vous êtes propriétaire du référentiel, vous pouvez trouver la taille exacte en ouvrant vos paramètres de compte → référentiels ( https://github.com/settings/repositories ), et la taille du référentiel s'affiche à côté de sa désignation.
Si vous ne possédez pas le référentiel, vous pouvez le bifurquer puis le vérifier au même endroit.
Un peu hacky: utilisez l' download as a zip fileoption, lisez la taille de fichier indiquée puis annulez-la.
Je ne me souviens pas si le téléchargement en zip a déjà fonctionné, mais en tout cas, cela ne télécharge maintenant que la branche actuellement sélectionnée sans historique.
Ne faut-il pas prendre en compte la compression zip? Le code source et les fichiers texte peuvent être compressés jusqu'à environ 60% je pense.
ffledgling
Je ne connais pas de moyen de vérifier le taux de compression du zip sans terminer le téléchargement. Bien sûr, vous pouvez terminer le téléchargement, puis vérifier le taux de compression. Cependant, à ce stade, vous pourriez aussi bien décompresser et vérifier directement la taille du dépôt. Cela dépend vraiment de la précision dont vous avez besoin. Et si vous pouvez vous permettre de télécharger le dépôt pour vérifier.
CoatedMoose
1
Je ne pouvais pas le trouver Settings > Repositories, mais j'ai trouvé la taille du repo sous Account Settings > Repositoriesvotre page d'accueil git. Bien sûr, cela ne fonctionne qu'avec les dépôts que vous possédez (ou fork).
modulitos
Les paramètres de compte des organisations ne semblent pas afficher la taille du référentiel, donc ce n'est que si vous possédez un référentiel en tant qu'utilisateur et non en tant qu'organisation?
Bennett Brown
2
La taille du fichier zip n'est pas du tout une indication de la taille réelle du référentiel: 1) il comprend uniquement un instantané du référentiel à une révision donnée sans historique et 2) les référentiels Git sont stockés sous forme de fichiers pack compressés, ne le faites pas stocker les doublons, etc.
kynan
74
Si vous utilisez le navigateur Google Chrome, vous pouvez installer l' extension GitHub Repository Size .
@BaneeIshaqueK ce n'est pas la même chose mais cela vous montre la taille du référentiel, vérifiez ici
Syed Shamikh Shabbir
1
MISE À JOUR Maintenant, fonctionne parfaitement même dans les référentiels privés tant que vous fournissez le jeton Github.
Siddhant Rimal
2
Toujours pas fiable, il utilise l'API GitHub, qui ne rapporte pas la taille correcte. J'ai un référentiel avec rien que des images (pas de code), et l'API signale la taille à 0, bien que ce soit le plus grand repo que j'ai. Cette extension ne me montre même pas la taille de ce dépôt particulier (probablement parce qu'il voit 0).
Jerry Dodge
19
@larowlan excellent exemple de code. Avec la nouvelle API GitHub V3, l'instruction curl doit être mise à jour. De plus, la connexion n'est plus requise:
Cela ne semble pas fonctionner pour les dépôts privés. Y a-t-il quelque chose qui me manque? Merci!
nroose
1
Je souhaite que vous développiez votre réponse davantage avec quelques explications, afin que les gens puissent la changer pour répondre à leurs besoins.
Shimmy Weitzhandler
10
Pour ce faire avec curl (sudo apt-get curl) et json pretty (sudo gem install jsonpretty json):
Vous devez suivre l'API GitHub. Consultez la documentation ici pour tous les détails concernant votre référentiel. Il vous oblige à faire une demande GET comme:
GET / repos /: propriétaire /: référentiel
Vous devez remplacer deux choses:
: propriétaire - le nom d'utilisateur de la personne qui possède le référentiel
: repository - Le nom du référentiel
Par exemple, mon nom d'utilisateur maheshmnj et je possède un référentiel, flutter-ui-nice , donc mon URL GET sera:
Lors d'une demande GET, vous serez inondé de données JSON et probablement sur la ligne 78, vous devriez voir une clé nommée taille qui renverra la taille du référentiel.
Astuce: lorsque vous travaillez avec JSON, je vous suggère d'ajouter un plugin qui formate les données JSON pour faciliter la lecture de JSON. Installez le plugin .
A) Comme beaucoup le déclarent, cette taille n'est ni précise ni fiable. B) Même si c'était le cas, vos notes sur la lecture visuelle du JSON, le numéro de ligne et le formatage ... tout cela est inutile. JSON n'est pas destiné aux humains à lire, il est destiné aux ordinateurs à lire. Vous devriez mentionner de lire la sizeclé dans la réponse, pas la ligne 78. Sans oublier, différents formateurs auront des sauts de ligne différents à différents endroits, laissant les données souhaitées à un numéro de ligne différent.
Jerry Dodge
@JerryDodge première chose que vous devriez lire attentivement la réponse que j'ai mentionnée `` vous devriez voir une clé nommée taille '' et j'ai dit que vous devriez la probablyvoir sur la ligne n ° 78, ce qui indique que vous devriez voir la clé de taille quelque part autour de 78 , deuxième chose si la taille des API Github n'était pas précise, je ne pense pas que vous trouverez quelque chose de plus précis que les API Github.
maheshmnj
J'ai un référentiel d'images. Les images sont des données binaires. Il n'y a aucun fichier texte dans ce dépôt. GitHub signale partout qu'il consomme 0 octet. Même le site Web / plugin.
Jerry Dodge
0
Pour résumer les solutions @larowlan, @VMTrooper et @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
Réponses:
Il existe un moyen d'accéder à ces informations via l' API GitHub .
GET /repos/:user/:repo
Lors de la récupération d'informations sur un référentiel, une propriété nommée
size
est évaluée avec la taille de l'ensemble du référentiel (y compris tout son historique), en kilo-octets.Par exemple, le référentiel Git pèse environ 124 Mo. La
size
propriété de la charge utile JSON retournée est évaluée à124283
.Mettre à jour
La taille est en effet exprimée en kilo-octets en fonction de l'utilisation du disque du référentiel nu côté serveur. Cependant, afin d'éviter de gaspiller trop d'espace avec des référentiels avec un grand réseau, GitHub s'appuie sur Git Alternates . Dans cette configuration, le calcul de l'utilisation du disque par rapport au référentiel nu ne tient pas compte du magasin d'objets partagés et renvoie donc une valeur "incomplète" via l'appel d'API.
Ces informations ont été fournies par le support GitHub.
la source
$ curl -u "{:username}" https://api.github.com/repos/{:organization}/{:repository}
. Voir developer.github.com/v3/#authenticationSi vous êtes propriétaire du référentiel, vous pouvez trouver la taille exacte en ouvrant vos paramètres de compte → référentiels ( https://github.com/settings/repositories ), et la taille du référentiel s'affiche à côté de sa désignation.
Si vous ne possédez pas le référentiel, vous pouvez le bifurquer puis le vérifier au même endroit.
Un peu hacky: utilisez l'download as a zip file
option, lisez la taille de fichier indiquée puis annulez-la.Je ne me souviens pas si le téléchargement en zip a déjà fonctionné, mais en tout cas, cela ne télécharge maintenant que la branche actuellement sélectionnée sans historique.
la source
Settings > Repositories
, mais j'ai trouvé la taille du repo sousAccount Settings > Repositories
votre page d'accueil git. Bien sûr, cela ne fonctionne qu'avec les dépôts que vous possédez (ou fork).Si vous utilisez le navigateur Google Chrome, vous pouvez installer l' extension GitHub Repository Size .
Repo ici: https://github.com/harshjv/github-repo-size
la source
@larowlan excellent exemple de code. Avec la nouvelle API GitHub V3, l'instruction curl doit être mise à jour. De plus, la connexion n'est plus requise:
Par exemple:
renvoie
931668
(en Ko), ce qui représente presque un Go.la source
Pour ce faire avec curl (sudo apt-get curl) et json pretty (sudo gem install jsonpretty json):
Remplacez YOURGITHUBUSERNAME par votre nom d'utilisateur GitHub (allez voir la figure).
Remplacez OWNER par le nom d'utilisateur Git du propriétaire du référentiel. Remplacez REPOSITORY par le nom du référentiel.
Ou comme un joli script Bash (collez-le dans un fichier nommé gitrepo-info):
Utilisez-le comme ceci:
Cela me donnera des informations sur le référentiel pisi / reel sur GitHub.
la source
Vous devez suivre l'API GitHub. Consultez la documentation ici pour tous les détails concernant votre référentiel. Il vous oblige à faire une demande GET comme:
GET / repos /: propriétaire /: référentiel
Vous devez remplacer deux choses:
Par exemple, mon nom d'utilisateur maheshmnj et je possède un référentiel, flutter-ui-nice , donc mon URL GET sera:
Lors d'une demande GET, vous serez inondé de données JSON et probablement sur la ligne 78, vous devriez voir une clé nommée taille qui renverra la taille du référentiel.
Astuce: lorsque vous travaillez avec JSON, je vous suggère d'ajouter un plugin qui formate les données JSON pour faciliter la lecture de JSON. Installez le plugin .
la source
size
clé dans la réponse, pas la ligne 78. Sans oublier, différents formateurs auront des sauts de ligne différents à différents endroits, laissant les données souhaitées à un numéro de ligne différent.probably
voir sur la ligne n ° 78, ce qui indique que vous devriez voir la clé de taille quelque part autour de 78 , deuxième chose si la taille des API Github n'était pas précise, je ne pense pas que vous trouverez quelque chose de plus précis que les API Github.Pour résumer les solutions @larowlan, @VMTrooper et @vahid chakoshy:
la source
Pour un référentiel privé, vous devrez obtenir un jeton d'accès personnel sur https://github.com/settings/tokens .
Utilisez ensuite la commande curl suivante pour obtenir les détails (en remplaçant les valeurs par [jeton], [propriétaire] et [nom]):
Comme mentionné précédemment, la taille peut être en Mo ou en Ko.
la source