Comment télécharger un dépôt GitHub au format .zip à l'aide de la ligne de commande

9

J'essaie de télécharger un fichier .zip depuis GitHub en utilisant la ligne de commande dans Ubuntu. J'utilise la wgetcommande pour cela sur un système Ubuntu distant.

Je cours wget <link>où se <link>trouve le lien de la barre d'adresse du fichier que je souhaite télécharger. Cela se termine par archive.zip?ref=master.

Maintenant, lorsque j'exécute la commande, il télécharge un fichier de text/htmltype et non le .zipfichier que je veux.

Veuillez me dire comment obtenir le lien comme paramètre de wget. En ce moment, je copie simplement l'adresse du lien du bouton (en utilisant le clic droit) et l'écris comme wgetparamètre.

UbuntuCoder
la source
pouvez-vous dire la commande exacte que vous collez?
kashish
1
Votre URL se termine-t-elle vraiment par .zip?
kashish
@kashish Non, l'URL ne se termine pas par .zip. J'essaie de télécharger un projet depuis github et il a un bouton de téléchargement donnant zip et d'autres options. Donc j'essaye de là. il se termine par archive.zip?ref=master
UbuntuCoder
Pour télécharger un projet github, vous pouvez utilisergit clone <projectlink.git>
kashish
1
Si je ne me trompe pas, il est possible de télécharger un dépôt sous forme de fichier Zip en utilisant une adresse suivante:https://github.com/{user}/{repo}/archive/{branch}.zip
Alex Chermenin

Réponses:

11

D'après les commentaires que je vous ai vus parler de GitHub.

Cela ne fonctionnera pas comme ça parce que:

Le téléchargement d' un projet sur GitHub , le serveur GitHub d'abord emballer votre projet zip et que la transmission vous à un temporaire lien où vous obtenez votre zip ..

ce lien ne fonctionnera que pendant un certain temps et que GitHub supprimera votre fichier zip de leurs serveurs.

Donc, ce que vous obtenez avec wget est juste la page html qui vous transmettra dès que votre fichier zip sera généré.

Comme utilisation suggérée

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

pour télécharger le dépôt git ... Si pour une raison quelconque (par exemple pour le transférer à d'autres) vous en avez besoin explicitement en tant que zip, vous pouvez toujours l'emballer une fois le clonage terminé.

derHugo
la source
2
Après le clonage, faites git archive -o output.zip, si un fichier zip est toujours nécessaire
Ferrybig
git clonefonctionne, naturellement, mais il y a des cas où cela n'a pas de sens d'installer git juste pour télécharger un dépôt.
Robin Métral
0

Cela fonctionne, si vous utilisez l'URL correcte. Pour un dépôt GitHub, il y a un zip sur https://github.com/user/repo/archive/master.zip, vous pouvez donc le télécharger avec:

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

Cela télécharge la masterbranche de user/repo. Vous pouvez remplacer master par n'importe quelle autre branche ou un hachage de validation.

Ceci est similaire à l'utilisation de cURL avec:

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

Le -Ldrapeau de cURL suit les redirections - c'est un défaut dans wget.

Notez que vous pouvez également télécharger une archive tar avec:

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