Come scaricare un repository GitHub come .zip utilizzando la riga di comando


9

Sto cercando di scaricare un file .zip da GitHub usando la riga di comando in Ubuntu. Sto usando il wgetcomando per questo su un sistema Ubuntu remoto.

Corro wget <link>dov'è <link>il link della barra degli indirizzi del file che voglio scaricare. Si finisce con archive.zip?ref=master.

Ora, quando eseguo il comando, sta scaricando un file con text/htmltipo e non il .zipfile che desidero.

Per favore, dimmi come ottenere il link come parametro di wget. In questo momento, sto semplicemente copiando l'indirizzo link del pulsante (con tasto destro del mouse) e la scrittura che, come un wgetparametro.


puoi dire l'esatto comando che stai incollando?
kashish,

1
Il tuo URL termina davvero con .zip?
kashish,

@kashish No, l'URL non termina con .zip. Sto cercando di scaricare un progetto da Github e ha un pulsante di download che fornisce zip e altre opzioni. Quindi, ci sto provando da lì. termina con archive.zip?ref=master
UbuntuCoder il

Per scaricare un progetto github, puoi usaregit clone <projectlink.git>
kashish il

1
Se non sbaglio è possibile scaricare un repository come file zip utilizzando il seguente indirizzo:https://github.com/{user}/{repo}/archive/{branch}.zip
Alex Chermenin,

Risposte:


11

Dai commenti che ti ho visto in realtà parlare di GitHub.

Non funzionerà così perché:

Il download di un progetto su GitHub fa sì che il server GitHub comprima innanzitutto il progetto come zip e che inoltri a un collegamento temporaneo in cui si ottiene lo zip.

questo link funzionerà solo per un certo tempo e quindi GitHub eliminerà il tuo file zip dai loro server.

Quindi quello che ottieni con wget è solo la pagina html che ti inoltrerà non appena viene generato il tuo file zip.

Come suggerito l'uso

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

per scaricare il repository git ... Se per qualche motivo (ad es. per trasferirlo ad altri) è necessario esplicitamente come zip, è ancora possibile comprimerlo al termine della clonazione.


2
Dopo la clonazione, fallo git archive -o output.zip, se è ancora necessario un file zip
Ferrybig,

git clonefunziona, naturalmente, ma ci sono casi in cui non ha senso installare git solo per scaricare un repository.
Robin Métral

0

Funziona se si utilizza l'URL corretto. Per un repository GitHub, c'è un zip in https://github.com/user/repo/archive/master.zip, quindi puoi scaricarlo con:

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

Questo scarica il masterramo di user/repo. Puoi sostituire master con qualsiasi altro ramo o hash di commit.

Questo è simile all'utilizzo di cURL con:

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

La -Lbandiera di cURL segue i reindirizzamenti - è un valore predefinito in wget.

Nota che puoi anche scaricare un tarball con:

wget https://github.com/user/repo/archive/master.tar.gz
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.