Je suppose que la plupart d'entre vous, développeurs, utilisez n'importe quel VCS , et j'espère que certains d'entre vous utilisent Git. Avez-vous des conseils ou des astuces pour obtenir une URL de téléchargement pour un seul fichier dans un référentiel?
Je ne veux pas l'URL pour afficher le fichier brut; en cas de binaires c'est pour rien.
http://support.github.com/discussions/feature-requests/41-download-single-file
Est-il même possible d'utiliser GitHub comme "serveur de téléchargement"?
Si nous décidons de passer à Google Code, les fonctionnalités mentionnées sont-elles présentées ici?
Ou existe-t-il un hébergement gratuit et VCS pour les projets open source?
git
version-control
github
Radek Simko
la source
la source
Réponses:
Git ne prend pas en charge le téléchargement de parties du référentiel. Vous devez tout télécharger. Mais vous devriez pouvoir le faire avec GitHub.
Lorsque vous affichez un fichier, il contient un lien vers la version "brute". L' URL est construite comme ça
En remplissant les blancs dans l'URL, vous pouvez utiliser Wget ou cURL (avec le
-L
option, voir ci-dessous) ou autre pour télécharger un seul fichier. Encore une fois, vous n'obtiendrez aucune des fonctionnalités de contrôle de version intéressantes utilisées par Git en faisant cela.Mise à jour: j'ai remarqué que vous mentionnez que cela ne fonctionne pas pour les fichiers binaires. Vous ne devriez probablement pas utiliser de fichiers binaires dans votre référentiel Git, mais GitHub a une section de téléchargement pour chaque référentiel que vous pouvez utiliser pour télécharger des fichiers. Si vous avez besoin de plusieurs binaires, vous pouvez utiliser un fichier .zip. L'URL pour télécharger un fichier téléchargé est:
Notez que les URL indiquées ci-dessus, à partir des liens
github.com
, seront redirigées versraw.githubusercontent.com
. Vous ne devez pas utiliser directement l'URL fournie par cette redirection HTTP 302 car, par RFC 2616 : "Étant donné que la redirection peut être modifiée à l'occasion, le client DEVRAIT continuer à utiliser l'URI de demande pour les demandes futures."la source
raw
après le nom du référentiel) est désormais automatiquement redirigé vers le format que vous mentionnez (nom d'hôteraw.github.com
). En cas de doute, accédez au fichier en question sur github.com et cliquez sur le bouton «Raw».Raw
bouton bouton.la source
Vous pouvez utiliser l'API V3 pour obtenir un fichier brut comme celui-ci (vous aurez besoin d'un jeton OAuth):
curl -H 'Authorization: token INSERTACCESSTOKENHERE' -H 'Accept: application/vnd.github.v3.raw' -O -L https://api.github.com/repos/owner/repo/contents/path
Tout cela doit se faire sur une seule ligne. L'
-O
option enregistre le fichier dans le répertoire actuel. Vous pouvez utiliser-o filename
pour spécifier un nom de fichier différent.Pour obtenir le jeton OAuth, suivez les instructions ici: https://help.github.com/articles/creating-an-access-token-for-command-line-use
J'ai également écrit cela comme un résumé: https://gist.github.com/madrobby/9476733
la source
Selon cet essentiel , vous pouvez utiliser wget ou cURL:
Dans la ligne de commande, exécutez soit:
wget --no-check-certificate --content-disposition https://URL-from-step3/
curl -LJO https://URL-from-step3/
Un de plus: dans RHEL7.6, exécutez ce qui suit:
wget https://URL-from-step3/ --output-document=FILE_NAME
la source
wget
suivi du chemin brut vers le fichier source C que je voulais après avoir consulté le fichier dans le référentiel github et cliqué sur le bouton Raw. A travaillé comme un champion avec Raspbian sur mon Raspberry Pi 3.GitHub Mate facilite le téléchargement d'un seul fichier, cliquez simplement sur l'icône pour télécharger, actuellement cela ne fonctionne que sur Chrome.
la source
Vous pouvez utiliser de
curl
cette façon:curl -OL https://raw.githubusercontent.com/<username>/<repo-name>/<branch-name>/path/to/file
O
signifie que curl télécharge le contenuL
signifie que curl suit la redirectionla source
C'est désormais possible dans GitHub pour n'importe quel fichier. Vous devez traduire vos fichiers pour raw.github.com. Par exemple, si votre fichier se trouve dans votre référentiel à:
En utilisant wget, vous pouvez récupérer le fichier brut à partir de:
Rails Composer en est un excellent exemple.
la source
Il existe une extension chrome appelée Enhanced Github
Il ajoutera un bouton de téléchargement directement à droite de chaque fichier.
la source
Pour suivre ce que thomasfuchs a dit mais pour les utilisateurs de GitHub Enterprise, voici ce que vous pouvez utiliser.
curl -H 'Authorization: token INSERTACCESSTOKENHERE' -H 'Accept: application/vnd.github.v3.raw' -O -L https://your_domain/api/v3/repos/owner/repo/contents/path
Voici également la documentation de l'API https://developer.github.com/v3/repos/contents
la source
https://your_domain/api/v3/repos/{owner}/my-repo/contents/x/y/z.txt
Si vous souhaitez télécharger un fichier zip à l'
github
aide dewget
voir ce site pour plus de détails
la source
Cette méthode fonctionne pour Windows car je n'ai jamais utilisé MAC, donc je ne sais pas quelles sont les clés alternatives en MAC pour les clés que je vais mentionner ci-dessous.
Parlons des fichiers CSV. SI vous souhaitez télécharger le fichier CSV:
Rappelez-vous, vous devez appuyer simultanément sur Alt et clic gauche. Un simple clic sur le bouton "Raw" ouvrira le CSV dans le navigateur.
J'espère que ça aide.
la source
Vous devez simplement le faire avec l'
raw
URL de votre fichier.Par exemple, pour télécharger le fichier README d'AFNetworking:
Comme il s'agit d'un référentiel public, vous n'avez pas besoin d'informations d'identification. Veuillez noter le type d'URL:
raw.githubusercontent.com/path/to/file
la source
Résumé 2019
Il existe différentes manières de gérer cela, selon la taille du fichier, si vous devez ou non télécharger des dossiers en plus des fichiers, et si vous prévoyez de le faire manuellement ou par programme.
Il existe six options résumées ci-dessous. Et pour ceux qui préfèrent une explication plus pratique, j'ai mis en place une vidéo YouTube: Télécharger des fichiers et des dossiers individuels depuis GitHub .
En outre, j'ai publié une réponse similaire sur StackOverflow pour ceux qui ont besoin de télécharger des dossiers / répertoires uniques depuis GitHub (par opposition aux fichiers).
1. Interface utilisateur GitHub
2. Menu contextuel du navigateur
3. Outils tiers
https://github.com/babel/babel-eslint/blob/master/lib/parse.js
.4. Subversion
svn export https://github.com/babel/babel-eslint/trunk/lib/parse.js
5. CURL
curl -o parse.js https://raw.githubusercontent.com/babel/babel-eslint/master/lib/parse.js
.6. API GitHub
https://api.github.com/repos/:owner/:repo/contents/:path
. Après avoir remplacé les caractères génériques, un point de terminaison exemple:https://api.github.com/repos/babel/babel-eslint/contents/lib/parse.js
. Cela vous donne des données JSON pour ce fichier, y compris une URL de téléchargement (la même URL de téléchargement que nous avons utilisée dans l'exemple cURL ci-dessus). Cette méthode n'est cependant pas très utile pour un seul fichier (vous seriez plus susceptible de l'utiliser pour télécharger un dossier spécifique, comme détaillé dans la réponse que j'ai liée à ci-dessus).la source
Fonctionnalités des versions de GitHub
Plutôt que de créer un lien pour télécharger un fichier spécifique dans le référentiel, vous devez utiliser la fonctionnalité des versions de GitHub pour associer les données téléchargeables (telles que les fichiers binaires compilés) à la version balisée du code source utilisé pour générer ces données.
https://github.com/blog/1547-release-your-software
la source
releases
2. Cliquez sur le numéro de validation. 3. Trouvez le fichier que vous voulez, cliquez sur les trois points...
et sélectionnezView file
4. Cliquez surView raw
pour télécharger le fichier !!!Cela fonctionnerait certainement. Au moins dans Chrome. Faites un clic droit sur l'icône "Raw" -> Enregistrer le lien sous .
la source
Pour télécharger un fichier depuis un dépôt Github, utilisez la commande 'curl' avec le lien vers le fichier brut.
Ajoutez l'option --output suivie du nouveau nom de fichier pour télécharger le fichier brut dans le fichier nouvellement créé.
la source
La page à laquelle vous avez lié répond à la première question.
GitHub dispose également d'une fonction de téléchargement pour des choses comme les versions.
Google Code n'a pas du tout Git .
GitHub, Google Code et SourceForge , pour commencer, sont des hébergements gratuits. SourceForge pourrait toujours faire CVS .
la source
J'ai récemment trouvé un service appelé
gitzip
et son open source:site - http://kinolien.github.io/gitzip/
repo - https://github.com/KinoLien/gitzip
Visitez le site ci-dessus, entrez le référentiel ou l'URL du répertoire, vous pouvez télécharger des fichiers individuels ou un répertoire entier sous forme de fichier zip.
la source
jszip.min.js
depuis ce référentiel? visage de trollIl est maintenant possible de télécharger n'importe quel fichier ou dossier particulier dans le référentiel en utilisant cette extension Google Chrome:
GitZip pour github: lien: https://chrome.google.com/webstore/detail/gitzip-for-github/ffabmkklhbepgcgfonabamgnfafbdlkn
Utilisation:
la source
Je pense que la nouvelle
url
structure estraw.giturl
par exemple:fichier git
brut
la source
Si vous utilisez curl et firefox ... vous pouvez utiliser le module complémentaire cliget qui génère un appel curl comprenant tous les mécanismes d'authentification (alias cookies).
Donc,
raw
faites un clic droit sur le bouton cliget -> "copier l'URL pour le lien", puis collez-le dans un shell. Vous obtiendrez votre fichier même si vous deviez vous connecter pour le voir.la source
la source
Pour les utilisateurs avec GitHub Enterprise, vous devez créer une URL dans le schéma suivant
Invoke-WebRequest http://github.mycompany.com/api/v3/repos/my-org/my-repo/contents/myfiles/file.txt -Headers @{"Authorization"="token 8d795936d2c1b2806587719b9b6456bd16549ad8"}
Les détails peuvent être trouvés ici
http://artisticcheese.blogspot.com/2017/04/how-to-download-individual-files-from.html
la source
Ou essayez ceci
la source
J'ai utilisé le format suivant et je pense qu'il est important de renseigner sur le chemin.
^^^ ce qui précède n'est pas très complet dans mon esprit
certains ont dit raw.github.com ou raw au lieu de blob, mais la 2e ligne fonctionne pour moi et j'espère qu'elle aidera les autres ...
2 ¢
la source
Vous pouvez essayer github-files-fetcher , c'est un outil en ligne de commande qui télécharge un seul dossier ou fichier à partir d'un dépôt GitHub.
Imaginez un scénario réel: vous visitiez la page Web suivante et souhaitez télécharger le
async
sous - répertoire seul.https://github.com/reduxjs/redux/tree/master/examples
Avec le
github-files-fetcher
, vous devez d'abord copier leurl
de cette page, qui est https://github.com/reduxjs/redux/tree/master/examples/async , puis exécuter la commande ci-dessous en ligne de commande:fetcher --url=https://github.com/reduxjs/redux/tree/master/examples/async
la source
C'est ce qui a fonctionné pour moi tout à l'heure ...
Ouvrez le fichier brut dans un onglet séparé.
Copiez le tout dans votre bloc-notes dans un nouveau fichier.
Enregistrez le fichier dans l'extension qu'il avait à l'origine
testé avec un fichier php que je viens de télécharger (au moment de la réponse)
la source