Apakah ada cara untuk melihat seberapa besar repositori Git di GitHub sebelum Anda memutuskan untuk mengkloningnya?
Ini sepertinya statistik yang sangat jelas / dasar, tetapi saya tidak dapat menemukan cara melihatnya di GitHub sama sekali.
Apakah ada cara untuk melihat seberapa besar repositori Git di GitHub sebelum Anda memutuskan untuk mengkloningnya?
Ini sepertinya statistik yang sangat jelas / dasar, tetapi saya tidak dapat menemukan cara melihatnya di GitHub sama sekali.
Jawaban:
Ada cara untuk mengakses informasi ini melalui API GitHub .
GET /repos/:user/:repo
Saat mengambil informasi tentang repositori, properti bernama size
dinilai dengan ukuran seluruh repositori (termasuk semua sejarahnya), dalam kilobyte.
Sebagai contoh, repositori Git memiliki bobot sekitar 124 MB. The size
milik JSON payload kembali dihargai untuk 124283
.
Ukurannya memang dinyatakan dalam kilobyte berdasarkan pada penggunaan disk dari repositori telanjang server-side. Namun, untuk menghindari pemborosan ruang terlalu banyak dengan repositori dengan jaringan besar, GitHub bergantung pada Alternatif Git . Dalam konfigurasi ini, menghitung penggunaan disk terhadap repositori kosong tidak memperhitungkan penyimpanan objek bersama dan dengan demikian mengembalikan nilai "tidak lengkap" melalui panggilan API.
Informasi ini telah diberikan oleh dukungan GitHub.
$ curl -u "{:username}" https://api.github.com/repos/{:organization}/{:repository}
. Lihat developer.github.com/v3/#authentication
Jika Anda memiliki repositori, Anda dapat menemukan ukuran yang tepat dengan membuka Pengaturan Akun Anda → Repositori ( https://github.com/settings/repositori ), dan ukuran repositori ditampilkan di sebelah penunjukannya.
Jika Anda tidak memiliki repositori, Anda dapat membayarnya lalu memeriksa di tempat yang sama.
Agak diretas: gunakan download as a zip file
opsi, baca ukuran file yang ditunjukkan dan kemudian batalkan.
Saya tidak ingat apakah mengunduh sebagai zip pernah berfungsi, tetapi bagaimanapun, melakukannya sekarang hanya mengunduh cabang yang dipilih saat ini tanpa riwayat.
Settings > Repositories
, tetapi malah menemukan ukuran repo di bawah Account Settings > Repositories
halaman utama git Anda. Tentu saja, ini hanya berfungsi dengan repo yang Anda miliki (atau garpu).
Jika Anda menggunakan browser Google Chrome, Anda dapat menginstal ekstensi Ukuran Repositori GitHub .
Repo di sini: https://github.com/harshjv/github-repo-size
@larowlan kode sampel yang bagus. Dengan GitHub API V3 yang baru, pernyataan curl perlu diperbarui. Juga, login tidak lagi diperlukan:
curl https://api.github.com/repos/$2/$3 2> /dev/null | grep size | tr -dc '[:digit:]'
Sebagai contoh:
curl https://api.github.com/repos/dotnet/roslyn 2> /dev/null | grep size | tr -dc '[:digit:]'
mengembalikan 931668
(dalam KB), yang hampir merupakan GB.
Untuk melakukan ini dengan curl (sudo apt-get curl) dan json pretty (sudo gem install jsonpretty json):
curl -u "YOURGITHUBUSERNAME" http://github.com/api/v2/json/repos/show/OWNER/REPOSITORY |
jsonpretty
Ganti YOURGITHUBUSERNAME dengan nama pengguna GitHub Anda (lihat gambar).
Ganti PEMILIK dengan Git username pemilik repositori. Ganti REPOSITORY dengan nama repositori.
Atau sebagai skrip Bash yang bagus (rekatkan ini dalam file bernama 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
Gunakan seperti ini:
gitrepo-info larowlan pisi reel
Ini akan memberi saya informasi tentang repositori pisi / reel di GitHub.
Anda harus mengikuti API GitHub. Lihat dokumentasi di sini untuk semua detail mengenai repositori Anda. Anda harus membuat permintaan GET sebagai:
DAPATKAN / repos /: pemilik /: repositori
Anda perlu mengganti dua hal:
Misalnya, nama pengguna saya maheshmnj , dan saya memiliki repositori, flutter-ui-nice , jadi URL GET saya adalah:
https://api.github.com/repos/maheshmnj/flutter-ui-nice
Pada membuat permintaan GET, Anda akan dibanjiri dengan beberapa data JSON dan mungkin pada nomor baris 78 Anda akan melihat ukuran bernama kunci yang akan mengembalikan ukuran repositori.
Kiat: Saat bekerja dengan JSON, saya sarankan Anda untuk menambahkan plugin yang memformat data JSON untuk memudahkan membaca JSON. Instal pengaya .
size
kunci dalam respons, bukan baris 78. Belum lagi, pembuat format yang berbeda akan memiliki jeda baris yang berbeda di tempat yang berbeda, meninggalkan data yang diinginkan pada nomor baris yang berbeda.
probably
melihatnya di saluran no 78, sehingga menunjukkan Anda harus melihat kunci ukuran di suatu tempat di sekitar 78 , hal kedua jika ukuran dari apis github tidak akurat, saya tidak berpikir Anda akan menemukan sesuatu yang lebih akurat daripada apis github.
Untuk merangkum solusi @larowlan, @VMTrooper, dan @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
Untuk repositori pribadi, Anda harus mendapatkan Token Akses Pribadi dari https://github.com/settings/tokens .
Kemudian gunakan perintah ikal berikut untuk mendapatkan detail (mengganti nilai untuk [token], [pemilik] dan [nama]):
curl -u git:[token] https://api.github.com/repos/[owner]/[name] 2> /dev/null | grep size
Seperti yang disebutkan sebelumnya, ukuran mungkin dalam MB atau KB.