551 votes

Comment puis-je voir la taille d'un dépôt GitHub avant de le cloner ?

Existe-t-il un moyen de voir la taille d'un dépôt Git sur GitHub avant de décider de le cloner ?

Cela semble être une statistique vraiment évidente/basique, mais je ne trouve pas du tout comment la voir sur GitHub.

2 votes

5 votes

@KennyTM question très similaire, oui, mais ceci est spécifique à github plutôt qu'à toute méthode utilisant uniquement le protocole git.

3 votes

Pour votre information, consultez cette extension de chrome qui ajoute automatiquement la taille du dépôt au résumé du dépôt de GitHub. github.com/harshjv/github-repo-size . MISE À JOUR : ajout de cette réponse

415voto

nulltoken Points 15605

Il est possible d'accéder à ces informations par le biais de l'outil de gestion de l'information. API GitHub .

Lors de la recherche d'informations sur un référentiel, une propriété nommée size est évalué 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. Le site size de la charge utile JSON renvoyée a pour valeur 124283 .

Mise à jour

La taille est en effet exprimée en kilo-octets en fonction de l'utilisation du disque du dépôt nu côté serveur. Cependant, afin d'éviter de gaspiller trop d'espace avec les dépôts disposant d'un réseau important, GitHub s'appuie sur l'utilisation de Alternatives à Git . 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" par le biais de l'appel API.

Ces informations ont été fournies par le support GitHub.

0 votes

@FrançoisBeaune oui, c'est MB.

14 votes

La taille n'est pas en Mo maintenant -> Ce n'est pas très clair, il semble que cela dépende du dépôt interrogé... Les petits repos exposent la taille en octets, les grands en mégaoctets. J'ai ouvert un problème au support GitHub. Je mettrai à jour la réponse dès que le problème sera résolu.

9 votes

Cela ne semble pas fonctionner pour les dépôts privés. Est-ce que quelque chose m'échappe ? Merci !

236voto

CoatedMoose Points 733

Si vous possédez le référentiel, vous pouvez trouver la taille exacte en ouvrant votre Paramètres du compte Dépôts ( https://github.com/settings/repositories ), et la taille du dépôt est affichée à côté de sa désignation.

Si vous ne possédez pas le référentiel, vous pouvez le bifurquer et le vérifier au même endroit.

Note : Vous pouvez être le propriétaire de l'organisation qui héberge plusieurs référentiels et pourtant ne pas avoir de rôle dans un référentiel spécifique au sein de l'organisation. Par défaut, même si vous créez un référentiel dans l'organisation dont vous êtes le propriétaire, vous n'êtes pas ajouté au référentiel et vous ne voyez donc pas ce référentiel dans la section settings/repositories . Alors ajoutez vous dans le dépôt Setting( https://github.com/org-name/repo-name/settings ) pour le voir en https://github.com/settings/repositories

Un peu plus compliqué : utilisez la fonction download as a zip file lisez la taille du fichier indiquée, puis annulez-la.

Je ne me souviens pas si le téléchargement en tant que zip a déjà fonctionné, mais dans tous les cas, en faisant ainsi maintenant télécharge uniquement la branche actuellement sélectionnée, sans historique.

0 votes

Ne devrait-on pas tenir compte de la compression zip ? Le code source et les fichiers texte peuvent être compressés jusqu'à environ 60% je pense.

0 votes

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 et ensuite vérifier le taux de compression. Cependant, à ce stade, vous pourriez tout aussi bien décompresser le fichier et vérifier directement la taille du repo. Cela dépend vraiment de la précision dont vous avez besoin. Et si vous pouvez vous permettre de télécharger le repo pour le vérifier.

4 votes

Je n'ai pas pu le trouver dans Settings > Repositories mais a trouvé la taille du repo sous Account Settings > Repositories à partir de votre page d'accueil git. Bien sûr, cela ne fonctionne qu'avec les dépôts que vous possédez (ou que vous avez forcé).

40voto

VMTrooper Points 31

@larowlan excellent exemple de code. Avec la nouvelle API GitHub V3, la déclaration curl doit être mise à jour. De plus, le login n'est plus nécessaire :

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

Par exemple :

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

renvoie à 931668 (en Ko), ce qui représente presque un Go.

5 votes

Cela ne semble pas fonctionner pour les dépôts privés. Y a-t-il quelque chose qui m'échappe ? Merci !

0 votes

Pouvez-vous inclure un exemple de commande qui imprime simplement la sortie au lieu de l'écrire dans un fichier ?

0 votes

J'ai obtenu "Le système ne peut pas trouver le chemin spécifié". J'ai essayé les URL de quelques projets, dont celui-ci.

11voto

larowlan Points 69

Pour ce faire, il faut utiliser curl (sudo apt-get curl) et json pretty (sudo gem install jsonpretty json) :

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

Remplacez YOURGITHUBUSERNAME par votre nom d'utilisateur GitHub (allez comprendre).

Remplacer OWNER par le nom d'utilisateur Git du propriétaire du dépôt. Remplacez REPOSITORY par le nom du dépôt.

Ou comme un joli script de Bash (collez ceci dans un fichier nommé 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

Utilisez-le comme ça :

gitrepo-info larowlan pisi reel

Cela me donnera des informations sur le pisi/reel sur GitHub.

0voto

vahid chakoshy Points 889

si vous avez un lien pour télécharger le master du projet, essayez cette commande :

curl -I https://codeload.github.com/ManojkumarMuralidharan/Excite-Bike3D/zip/master

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X