Cara mengunduh repo GitHub sebagai .zip menggunakan baris perintah

9

Saya mencoba mengunduh file .zip dari GitHub menggunakan baris perintah di Ubuntu. Saya menggunakan wgetperintah untuk itu pada sistem remote Ubuntu.

Saya menjalankan di wget <link>mana <link>tautan bilah alamat dari file yang ingin saya unduh. Itu berakhir dengan archive.zip?ref=master.

Sekarang, ketika saya menjalankan perintah, itu sedang mengunduh file dengan text/htmltipe dan bukan .zipfile yang saya inginkan.

Tolong beri tahu saya cara mendapatkan tautan yang akan diberikan sebagai parameter wget. Saat ini, saya hanya menyalin alamat tautan tombol (menggunakan klik kanan) dan menuliskannya sebagai wgetparameter.

UbuntuCoder
sumber
dapatkah Anda memberi tahu persis perintah yang Anda tempelkan?
Kashish
1
Apakah URL Anda benar-benar berakhir dengan .zip?
kashish
@ashash Tidak, URL tidak diakhiri dengan .zip. Saya mencoba mengunduh proyek dari github dan memiliki tombol unduh yang memberikan zip dan opsi lain. Jadi, saya mencoba dari sana. itu berakhir dengan archive.zip?ref=master
UbuntuCoder
Untuk mengunduh proyek github, Anda dapat menggunakangit clone <projectlink.git>
kashish
1
Jika saya tidak salah, mungkin untuk mengunduh repositori sebagai file Zip menggunakan alamat berikut:https://github.com/{user}/{repo}/archive/{branch}.zip
Alex Chermenin

Jawaban:

11

Dari komentar yang saya lihat Anda benar-benar berbicara tentang GitHub.

Ini tidak akan berfungsi seperti ini karena:

Mengunduh proyek di GitHub menyebabkan server GitHub mengemas proyek Anda terlebih dahulu sebagai zip dan kemudian meneruskan Anda ke tautan sementara di mana Anda mendapatkan zip Anda ..

tautan ini hanya akan berfungsi untuk waktu tertentu dan daripada GitHub akan menghapus file zip Anda dari server mereka ..

Jadi apa yang Anda dapatkan dengan wget hanyalah halaman html yang akan meneruskan Anda segera setelah file zip Anda dihasilkan.

Seperti yang disarankan digunakan

git clone http://github.com/<yourRepoLink> <optional local path where to store>

untuk mengunduh git repo ... Jika karena alasan tertentu (misalnya untuk mentransfernya ke orang lain) Anda memerlukannya secara eksplisit sebagai zip, Anda masih dapat mengemasnya setelah kloning selesai.

derHugo
sumber
2
Setelah kloning, lakukan git archive -o output.zip, jika file zip masih diperlukan
Ferrybig
git clonebekerja, tentu saja, tetapi ada beberapa kasus ketika tidak masuk akal untuk menginstal git hanya untuk mengunduh repo.
Robin Métral
0

Ini berfungsi, jika Anda menggunakan URL yang benar. Untuk repo GitHub, ada zip di https://github.com/user/repo/archive/master.zip, sehingga Anda dapat mengunduhnya dengan:

wget https://github.com/user/repo/archive/master.zip

Ini mengunduh mastercabang dari user/repo. Anda bisa mengganti master dengan cabang lain atau hash komit.

Ini mirip dengan menggunakan cURL dengan:

curl -L https://github.com/user/repo/archive/master.zip

-LBendera cURL mengikuti pengalihan - ini adalah default di wget.

Perhatikan bahwa Anda juga dapat mengunduh tarball dengan:

wget https://github.com/user/repo/archive/master.tar.gz
Robin Métral
sumber