Ich denke, die meisten von Ihnen, Entwickler, verwenden VCS , und ich hoffe, einige von Ihnen verwenden Git. Haben Sie einen Tipp oder Trick, wie Sie eine Download-URL für eine einzelne Datei in einem Repository erhalten?
Ich möchte nicht, dass die URL die Rohdatei anzeigt. im Falle von Binärdateien ist es umsonst.
http://support.github.com/discussions/feature-requests/41-download-single-file
Ist es überhaupt möglich, GitHub als "Download-Server" zu verwenden?
Wenn wir uns für einen Wechsel zu Google Code entscheiden, werden die genannten Funktionen hier vorgestellt?
Oder gibt es kostenloses Hosting und VCS für Open-Source-Projekte?
git
version-control
github
Radek Simko
quelle
quelle
Antworten:
Git unterstützt das Herunterladen von Teilen des Repositorys nicht. Sie müssen alles herunterladen. Aber Sie sollten dies mit GitHub tun können.
Wenn Sie eine Datei anzeigen, enthält sie einen Link zur "Raw" -Version. Die URL ist so aufgebaut
Durch Ausfüllen der Lücken in der URL können Sie Wget oder cURL (mit der
-L
Option, siehe unten) oder was auch immer verwenden, um eine einzelne Datei herunterzuladen. Auch hier erhalten Sie keine der netten Versionskontrollfunktionen, die Git auf diese Weise verwendet.Update: Ich habe festgestellt, dass Sie erwähnen, dass dies für Binärdateien nicht funktioniert. Sie sollten wahrscheinlich keine Binärdateien in Ihrem Git-Repository verwenden, aber GitHub verfügt über einen Download-Bereich für jedes Repository, mit dem Sie Dateien hochladen können. Wenn Sie mehr als eine Binärdatei benötigen, können Sie eine ZIP-Datei verwenden. Die URL zum Herunterladen einer hochgeladenen Datei lautet:
Beachten Sie, dass die oben angegebenen URLs ab den Links zu
github.com
weiterleitenraw.githubusercontent.com
. Sie sollten die von dieser HTTP 302-Umleitung angegebene URL nicht direkt verwenden, da gemäß RFC 2616 : "Da die Umleitung gelegentlich geändert werden kann, sollte der Client den Anforderungs-URI weiterhin für zukünftige Anforderungen verwenden."quelle
raw
nach dem Repository-Namen) wird jetzt automatisch in das von Ihnen angegebene Format (Hostnameraw.github.com
) umgeleitet . Navigieren Sie im Zweifelsfall zu der betreffenden Datei auf github.com und klicken Sie auf die Schaltfläche "Raw".Raw
Maustaste auf die Schaltfläche.quelle
Sie können die V3-API verwenden, um eine Rohdatei wie diese abzurufen (Sie benötigen ein OAuth-Token):
curl -H 'Authorization: token INSERTACCESSTOKENHERE' -H 'Accept: application/vnd.github.v3.raw' -O -L https://api.github.com/repos/owner/repo/contents/path
All dies muss in einer Zeile erfolgen. Die
-O
Option speichert die Datei im aktuellen Verzeichnis. Sie können-o filename
einen anderen Dateinamen angeben.Befolgen Sie die Anweisungen hier, um das OAuth-Token zu erhalten: https://help.github.com/articles/creating-an-access-token-for-command-line-use
Ich habe dies auch als Kernstück geschrieben: https://gist.github.com/madrobby/9476733
quelle
Nach diesem Kern können Sie wget oder cURL verwenden:
Führen Sie in der Befehlszeile entweder Folgendes aus:
wget --no-check-certificate --content-disposition https://URL-from-step3/
curl -LJO https://URL-from-step3/
Noch eines: Führen Sie in RHEL7.6 Folgendes aus:
wget https://URL-from-step3/ --output-document=FILE_NAME
quelle
wget
gefolgt von dem unformatierten Pfad zur gewünschten C-Quelldatei verwendet, nachdem ich die Datei im Github-Repository angezeigt und auf die Schaltfläche Raw geklickt habe. Arbeitete wie ein Champion mit Raspbian auf meinem Raspberry Pi 3.Mit GitHub Mate können Sie einzelne Dateien mühelos herunterladen. Klicken Sie zum Herunterladen einfach auf das Symbol. Derzeit funktioniert es nur unter Chrome.
quelle
Sie können
curl
diesen Weg verwenden:curl -OL https://raw.githubusercontent.com/<username>/<repo-name>/<branch-name>/path/to/file
O
bedeutet, dass Curl den Inhalt herunterlädtL
bedeutet, dass Curl der Umleitung folgtquelle
Dies ist jetzt in GitHub für jede Datei möglich. Sie müssen Ihre Dateien für raw.github.com übersetzen. Wenn sich Ihre Datei beispielsweise in Ihrem Repository befindet unter:
Mit wget können Sie die Rohdatei abrufen von:
Rails Composer ist ein gutes Beispiel dafür.
quelle
Es gibt eine Chrome-Erweiterung namens Enhanced Github
Direkt neben jeder Datei wird eine Download-Schaltfläche hinzugefügt.
quelle
Um zu verfolgen, was thomasfuchs gesagt hat, aber stattdessen für GitHub Enterprise-Benutzer, können Sie Folgendes verwenden.
curl -H 'Authorization: token INSERTACCESSTOKENHERE' -H 'Accept: application/vnd.github.v3.raw' -O -L https://your_domain/api/v3/repos/owner/repo/contents/path
Hier ist auch die API-Dokumentation https://developer.github.com/v3/repos/contents
quelle
https://your_domain/api/v3/repos/{owner}/my-repo/contents/x/y/z.txt
Für den Fall, dass Sie eine Zip-Datei von
github
verwenden möchtenwget
Weitere Informationen finden Sie auf dieser Website
quelle
Diese Methode funktioniert unter Windows, da ich noch nie MAC verwendet habe. Daher weiß ich nicht, welche alternativen Schlüssel in MAC für die Schlüssel verwendet werden, die ich unten erwähnen werde.
Lassen Sie uns über die CSV-Dateien sprechen. WENN Sie die CSV-Datei herunterladen möchten:
Denken Sie daran, Sie müssen gleichzeitig Alt drücken und mit der linken Maustaste klicken. Durch einfaches Klicken auf die Schaltfläche "Raw" wird die CSV im Browser geöffnet.
Ich hoffe das hilft.
quelle
Sie sollten es einfach mit der
raw
URL Ihrer Datei tun .Zum Beispiel zum Herunterladen der README von AFNetworking:
Da es sich um ein öffentliches Repo handelt, benötigen Sie keine Anmeldeinformationen. Bitte beachten Sie die Art der URL:
raw.githubusercontent.com/path/to/file
quelle
Zusammenfassung 2019
Es gibt verschiedene Möglichkeiten, dies zu handhaben, je nachdem, wie groß die Datei ist, ob Sie zusätzlich zu Dateien Ordner herunterladen müssen oder nicht und ob Sie dies manuell oder programmgesteuert tun möchten.
Im Folgenden sind sechs Optionen zusammengefasst. Und für diejenigen, die eine praktischere Erklärung bevorzugen, habe ich ein YouTube-Video zusammengestellt: Laden Sie einzelne Dateien und Ordner von GitHub herunter .
Außerdem habe ich auf StackOverflow eine ähnliche Antwort für diejenigen veröffentlicht, die einzelne Ordner / Verzeichnisse von GitHub herunterladen müssen (im Gegensatz zu Dateien).
1. GitHub-Benutzeroberfläche
2. Browser-Kontextmenü
3. Tools von Drittanbietern
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. GitHub API
https://api.github.com/repos/:owner/:repo/contents/:path
. Ein Beispielendpunkt nach dem Ersetzen der Platzhalter ist :https://api.github.com/repos/babel/babel-eslint/contents/lib/parse.js
. Auf diese Weise erhalten Sie JSON-Daten für diese Datei, einschließlich einer Download-URL (dieselbe Download-URL, die wir im obigen cURL-Beispiel verwendet haben). Diese Methode ist jedoch für eine einzelne Datei nicht allzu nützlich (Sie würden sie eher zum Herunterladen eines bestimmten Ordners verwenden, wie in der Antwort, auf die ich oben verlinkt habe, beschrieben).quelle
GitHub Releases-Funktion
Anstatt einen Link zum Herunterladen einer bestimmten Datei innerhalb des Repos zu erstellen, sollten Sie die Funktion " Releases" von GitHub verwenden, um herunterladbare Daten (z. B. kompilierte Binärdateien) mit der getaggten Version des Quellcodes zu verknüpfen, der zum Generieren dieser Daten verwendet wird.
https://github.com/blog/1547-release-your-software
quelle
releases
Sie auf der Hauptseite Ihres Repositorys die Option 2. Klicken Sie auf die Festschreibungsnummer. 3. Suchen Sie die gewünschte Datei, klicken Sie auf die drei Punkte...
und wählen SieView file
4. Klicken Sie aufView raw
, um die Datei herunterzuladen !!!Das würde definitiv funktionieren. Zumindest in Chrome. Klicken Sie mit der rechten Maustaste auf das Symbol "Raw" -> Link speichern unter .
quelle
Verwenden Sie zum Herunterladen einer Datei von einem Github-Repo den Befehl 'curl' mit dem Link zur Rohdatei.
Fügen Sie die Option --output gefolgt vom neuen Dateinamen hinzu, um die Rohdatei in die neu erstellte Datei herunterzuladen.
quelle
Die Seite, auf die Sie verlinkt haben, beantwortet die erste Frage.
GitHub hat auch eine Download-Funktion für Dinge wie Releases.
Google Code hat überhaupt kein Git .
GitHub, Google Code und SourceForge sind , um zu beginnen, kostenloses Hosting. SourceForge führt möglicherweise noch CVS aus .
quelle
Ich habe kürzlich einen Dienst namens
gitzip
Open Source gefunden:Website - http://kinolien.github.io/gitzip/
repo - https://github.com/KinoLien/gitzip
Besuchen Sie die oben genannte Site, geben Sie die Repo- oder Verzeichnis-URL ein und laden Sie einzelne Dateien oder das gesamte Verzeichnis als Zip-Datei herunter.
quelle
jszip.min.js
aus diesem Repository herunter ? TrollgesichtMit dieser Google Chrome-Erweiterung können Sie jetzt eine beliebige Datei oder einen bestimmten Ordner im Repository herunterladen:
GitZip für Github: Link: https://chrome.google.com/webstore/detail/gitzip-for-github/ffabmkklhbepgcgfonabamgnfafbdlkn
Verwendungszweck :
quelle
Ich denke, die neue
url
Struktur istraw.giturl
zum Beispiel:Git-Datei
roh
quelle
Wenn Sie Curl und Firefox verwenden, können Sie das Cliget- Add-On verwenden, das einen Curl-Aufruf mit allen Authentifizierungsmechanismen (auch als Cookies bezeichnet) generiert.
Klicken Sie also mit der rechten
raw
Maustaste auf die Schaltfläche cliget -> "URL für Link kopieren" und fügen Sie diese in eine Shell ein. Sie erhalten Ihre Datei auch dann, wenn Sie sich anmelden mussten, um sie anzuzeigen.quelle
quelle
Für Benutzer mit GitHub Enterprise müssen Sie die URL im folgenden Schema erstellen
Invoke-WebRequest http://github.mycompany.com/api/v3/repos/my-org/my-repo/contents/myfiles/file.txt -Headers @{"Authorization"="token 8d795936d2c1b2806587719b9b6456bd16549ad8"}
Details finden Sie hier
http://artisticcheese.blogspot.com/2017/04/how-to-download-individual-files-from.html
quelle
Oder versuchen Sie es
quelle
Ich habe das folgende Format verwendet und es ist mir wichtig, über den Pfad zu informieren.
^^^ das obige ist in meinen Augen nicht sehr vollständig
Einige sagten raw.github.com oder raw statt blob, aber die 2. Zeile funktioniert für mich und ich hoffe, dass sie anderen helfen wird ...
2 ¢
quelle
Sie können github-files-fetcher ausprobieren . Es ist ein Befehlszeilentool, das einen einzelnen Ordner oder eine einzelne Datei von einem GitHub-Repo herunterlädt.
Stellen Sie sich ein reales Szenario vor: Sie haben die folgende Webseite besucht und möchten nur das
async
Unterverzeichnis herunterladen .https://github.com/reduxjs/redux/tree/master/examples
Mit The
github-files-fetcher
sollten Sie zuerst dieurl
Seite kopieren , die https://github.com/reduxjs/redux/tree/master/examples/async lautet , und dann den folgenden Befehl in der Befehlszeile ausführen:fetcher --url=https://github.com/reduxjs/redux/tree/master/examples/async
quelle
Das hat gerade für mich funktioniert ...
Öffnen Sie die Rohdatei in einer separaten Registerkarte.
Kopieren Sie das Ganze in Ihren Notizblock in eine neue Datei.
Speichern Sie die Datei in der ursprünglichen Erweiterung
getestet mit einer PHP-Datei, die ich gerade heruntergeladen habe (zum Zeitpunkt der Antwort)
quelle