A GitHubon hosztolt projekt teljes repo méretét meg akarom tekinteni anélkül, hogy klónozni kellene. Néha ezt csinálom:
-
Kezdjen el klónozni néhány GitHub-adattárat
Objektumok fogadása: 45% (218 / 476), 5,50 MiB | 27 KiB / s
Máris lemerült 5 MB? Felfüggesztés …
^Z
-
Klónozza az adattárat egy normál internetkapcsolattal rendelkező szerveren just nézze meg a méretét.
- Folytassa (vagy szakítsa meg) a helyi klónozást.
Hogyan tudhatom meg előre az adattár méretét? A keresésben látom az adattár méretét, de máshol nem.
Megjegyzések
- Ellenőrizze a ez a verem túlcsordulás kérdése .
Válasz
A Github API használata:
$ echo https://github.com/hlamer/enki.git | perl -ne "print $1 if m!([^/]+/[^/]+?)(?:\.git)?$!" | xargs -i curl -s -k https://api.github.com/repos/"{}" | grep size "size": 284,
Megjegyzések
- Mac gépen ' s nem
-i
paraméter axargs
paraméterhez, tehát ' s:$ echo https://github.com/hlamer/enki.git | perl -ne 'print $1 if m!([^/]+/[^/]+?)(?:\.git)?$!' | xargs -I{} curl -s -k https://api.github.com/repos/'{}' | grep size
- és ez a méret … kilobájtban van?
Válasz
A Firefoxban az GitHub adattár mérete kiegészítést használhatja.
Megjegyzések
- Miért kell a visszavonás? Nem működik a kiterjesztés vagy a felhasználói index, vagy rosszindulatú programokat tartalmaz?
- Nem, minden rendben működik …
Válasz
Használja a Google Chrome böngészőt, és telepítse ezt a kiterjesztést
Hozzáadja a repó méretét a kezdőlaphoz:
Válasz
curl \ -H "Accept: application/vnd.github.v3+json" \ -s https://api.github.com/repos/torvalds/linux | \ jq ".size" | \ numfmt --to=iec --from-unit=1024
Magyarázat:
- a repo információk beolvasása a github api alkalmazásból a curl használatával
Ilyen json választ kapunk:
{ "id": 2325298, "node_id": "MDEwOlJlcG9zaXRvcnkyMzI1Mjk4", "name": "linux", "full_name": "torvalds/linux", "private": false, ... "size": 3018913, <<<This is what we need "stargazers_count": 99224, "watchers_count": 99224, ... }
-
Írja be a json válaszát a jq elemzőre , és keresse meg a szükséges attribútum-érték párost.
.
jelzi a json törzs gyökerét, és asize
a szükséges attr ibute a gyökér törzséből
Kimenet (a méret kB-ban):
3018913
- Ezután csatolja a kimenetet a numfmt
$ man numfmt --to=[UNIT] iec 1K = 1024, 1M = 1048576, ... --from-unit=N specify the input unit size (instead of the default 1) (it basically tells that the input is in kB(1024B) insted of B
Kimenet:
2.9G
Privát repók esetén fejlécként adjon meg egy tokent
-H "Authorization: token GITHUB_TOKEN"
csere GITHUB_TOKEN egy github tokennel , amely hozzáférést biztosít a privát repókhoz
https://command-not-found.com/jq
https://command-not-found.com/numfmt
Megjegyzések
- Meg tudja magyarázni, hogy ez a parancs mit csinál? Hogyan segít ebben a helyzetben? Köszönet
- A
curl
segítségével lekéri a lerakat metaadatait, majd kivonja a " size "
használatával, majd a nyers bájtokat ember által olvasható fájlméretekké konvertálja a numfmt
használatával.
Válasz
Ezt a böngésző konzoljának és a futó
fetch("https://api.github.com/repos/[USERNAME]/[REPO]") .then(v => v.json()).then((function(v){ console.log(v["size"] + "KB") }) )
Vegyünk egy gyakorlati példát.
Feltételezve, hogy meg akarja találni ennek a repónak a méretét Firefox használatával.
Nyissa meg a konzolt a következővel: Ctrl
+ Shift
+ K
. / p>
Ezután illessze be a következő kódot
fetch("https://api.github.com/repos/goncaloperes/TimeSeries") .then(v => v.json()).then((function(v){ console.log(v["size"] + "KB") }) )
Nyomja meg az Enter billentyűt, és az egyik megkapja a repo méretét, amint az a képen látható.