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 évidente/fondamentale, mais je ne trouve pas du tout comment le voir sur github.
Il existe un moyen d'accéder à ces informations via = GitHub API .
GET /repos/:user/:repo
Lors de la récupération d'informations sur un référentiel, une propriété nommée size
est définie par la taille de l'ensemble du référentiel (y compris son historique), en kilo-octets.
Par exemple, le référentiel Git pèse environ 124 Mo. La propriété size
de la charge JSON renvoyée est évaluée à 124283
.
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 prend pas en compte le magasin d'objets partagé et renvoie donc une valeur "incomplète" via l'appel d'API.
Cette information a été donnée par le support GitHub.
Si vous possédez le référentiel, vous pouvez trouver la taille exacte en ouvrant votre Account Settings > Repositories
( https://github.com/settings/repositories ). La taille du référentiel s'affiche à côté de son nom. la désignation.
Si vous ne possédez pas le référentiel, vous pouvez le bifurquer puis le cocher au même endroit.
Un peu hacky: utilisez l'option download as a Zip file
, lisez la taille de 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, le faire maintenant ne télécharge que la branche actuellement sélectionnée, sans historique.
Si vous utilisez le navigateur Google Chrome, vous pouvez installer l'extension Taille du référentiel GitHub .
@larowlan excellent exemple de code. Avec la nouvelle API GitHub V3, l'instruction 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:]'
Pour ce faire, avec curl (Sudo apt-get curl) et json pretty (Sudo gem, installez jsonpretty json)
curl -u "YOURGITHUBUSERNAME" http://github.com/api/v2/json/repos/show/OWNER/REPO |
jsonpretty
remplacez YOURGITHUBUSERNAME par votre nom d’utilisateur git hub (voir figure). remplace OWNER par le nom d'utilisateur git du propriétaire du référentiel, remplace REPO par le nom du référentiel.
Ou en tant que script Nice bash (collez-le 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
utiliser comme si
gitrepo-info larowlan pisi reel
Cela me donnera des informations sur le repo pisi/reel sur github.
Pour résumer les solutions @larowlan, @VMTrooper et @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
vous devez suivre l'API github voir la documentation ici pour tous les détails concernant votre référentiel, vous devez faire une demande get as
GET/repos /: propriétaire /: repo
vous devez remplacer deux choses
par exemple mon nom d'utilisateur maheshmnj , je possède un référentiel flutter-ui-Nice donc mon url sera
https://api.github.com/repos/maheshmnj/flutter-ui-Nice
en faisant une requête get, vous serez submergé de données json et probablement sur la ligne 78, vous devriez voir une clé nommée size qui retournera la taille du référentiel.
Conseil: lorsque vous travaillez avec Json, je vous suggère d’ajouter un plug-in qui formate les données Json pour faciliter la lecture de Json. installer le plugin