Laden Sie einzelne Dateien von GitHub herunter


625

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?


3
Die GitHub Releases- Funktion hat diese Rolle übernommen.
Pkamb

@RadekSimko DownGit kann Ihnen helfen. Siehe diese Antwort.
Minhas Kamal

1
GitLab finden Sie unter stackoverflow.com/a/51993087/6309 .
VonC

Dies funktioniert nicht für alle, aber wenn Sie Python-Pandas verwenden, können Sie einfach so etwas tun (funktioniert auch für große Dateien): Klicken Sie auf "Roh anzeigen" und kopieren Sie die URL aus dem Browser. Führen Sie dann einfach Folgendes aus: df = pd.read_csv ( ' raw.githubusercontent.com/t-davidson/… ')
Graham Hesketh

Versuchen Sie Gitzip für Github für Chrom
subtleseeker

Antworten:


580

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

https://raw.githubusercontent.com/user/repository/branch/filename

Durch Ausfüllen der Lücken in der URL können Sie Wget oder cURL (mit der -LOption, 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:

https://github.com/downloads/user/repository/filename

Beachten Sie, dass die oben angegebenen URLs ab den Links zu github.comweiterleiten raw.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."


16
Hinweis für die Nachwelt: Ich habe es gerade getestet und die Verwendung von Raw funktioniert gut für Binärdateien.
Emmby

1
versucht für eine ~ 10 MB Zip-Datei bekam Fehler: Fehler: Blob ist zu groß
ina

32
Das vorgeschlagene URL-Format funktioniert bei mir nicht. Ich finde, dass https://raw.github.com/user/repository/branch/filename funktioniert.
Brian C.

5
@BrianC.: (Stand: 27. August 2013) Das in der Antwort angegebene URL-Format ( rawnach dem Repository-Namen) wird jetzt automatisch in das von Ihnen angegebene Format (Hostname raw.github.com) umgeleitet . Navigieren Sie im Zweifelsfall zu der betreffenden Datei auf github.com und klicken Sie auf die Schaltfläche "Raw".
mklement0

10
Wenn Sie weiterhin Curl verwenden möchten, folgen Sie der Umleitung mit der Option -L in der Befehlszeile: curl -L -O github.com/user/repository/raw/branch/filename
Lynx-Lab

560
  1. Gehen Sie zu der Datei, die Sie herunterladen möchten.
  2. Klicken Sie darauf, um den Inhalt der GitHub-Benutzeroberfläche anzuzeigen.
  3. Klicken Sie oben rechts mit der rechtenRaw Maustaste auf die Schaltfläche.
  4. Speichern als...

22
Kopieren Sie anstelle von "Speichern unter" die URL. Das ist die URL der Datei. Sie können es jetzt mit jedem Tool herunterladen, das die URL zum Herunterladen verwendet: wget, Ihr Browser usw.
jgomo3

1
@ MattParkins Ich habe es gerade ausprobiert und ich denke, es funktioniert jetzt für große Dateien (sogar für Binärdateien mit der Warnung "Wir können derzeit keine so großen Dateien
anzeigen

3
Beenden Sie diese ausführlichen Schritte und verwenden Sie dazu diese Chrome-Erweiterung. chrome.google.com/webstore/detail/github-mate/…
Cam Song

3
Mein Gott, eine prägnante, unkomplizierte, übersichtliche, leicht zu lesende und zu verstehende Antwort, die nicht nur Sinn macht, sondern auch ohne externe BS von Drittanbietern funktioniert! Wenn nur alle StackOverflow-Antworten so einfach wären. Vielen Dank.
Padawan

2
Dies funktionierte für eine einzelne C # -Datei. Vielleicht sollte Github eine weitere Schaltfläche zum Herunterladen hinzufügen. Ein Rechtsklick auf eine Schaltfläche ist nicht sehr intuitiv.
Nick

39

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 -OOption speichert die Datei im aktuellen Verzeichnis. Sie können -o filenameeinen 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


4
Dieser ist gut, unterstützt aber leider nur Dateien mit einer Größe von bis zu 1 MiB.
Per Lundberg

1
Wenn Sie dies innerhalb eines Programms ausführen, stellen Sie sicher, dass User-Agent festgelegt ist.
Zugwalt

1
Können Sie einige Beispiele für den Pfad nennen? Wenn Ihr Repo my-repo ist und die Datei, die Sie erhalten möchten, unter x / y / z.txt steht, lautet die URL ... Es war schwer herauszufinden, dass / owner / repo / von mir ausgefüllt werden sollte. Vielen Dank.
Grau

Dies funktioniert gut, aber es gibt einen Nachteil. Sie haben nicht immer die neueste Version einer Datei. Versuchen Sie, eine Datei zu ändern, warten Sie nicht zu lange und versuchen Sie, die Datei mit dieser Methode abzurufen. Sie erhalten stattdessen nur die vorherige Version.
Pacomix

34

Nach diesem Kern können Sie wget oder cURL verwenden:

  1. Klicken Sie in einem GitHub-Repo auf den Dateinamen.
  2. Klicken Sie auf Raw, um den Dateiinhalt anzuzeigen.
  3. Kopieren Sie die URL in Ihren Browser.
  4. 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

Ich habe wgetgefolgt 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.
Richard Chambers

Ich bin etwas spät dran, aber das hat bei mir perfekt funktioniert. Das Anzeigen des Rohinhalts und das anschließende Klicken mit der rechten Maustaste zum Herunterladen funktionierte in meinem Fall nicht, da ich die Datei in einem bestimmten Format benötigte, das von meinem Computer nicht angeboten wurde. Die Befehle in dieser Antwort laden alles so herunter, wie es ist.
Seankala

16

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.

GitHub Mate herunterladen


1
@jcollum Gerade überprüft, funktioniert für mich. Können Sie sicherstellen, dass Sie die neueste Version verwenden? oder lassen Sie mich den Fehler wissen. Ich bin froh, Ihnen zu helfen, damit es funktioniert.
Cam Song

2
Ich bin auf der neuesten Version von Chrome, 34.0.1847.116, und dies funktioniert sicherlich nicht. Welches Betriebssystem verwenden Sie? Ich bin auf OS X Mavericks.
Jahkobi Digital

Ich habe auf Chrome 34 in Windows 7 und OS X Mavericks getestet, beide funktionieren. ziemlich seltsam, wenn nicht arbeiten, oder? Bitte beachten Sie, dass Ordner nicht heruntergeladen werden können. Vielleicht können Sie es auf einer anderen Maschine versuchen.
Cam Song

ok, diese Methode funktioniert nur, wenn Sie eine Chrome-Erweiterung haben. chrome.google.com/webstore/detail/github-mate/…
humazed

In dieser Ansicht klicken Sie einfach mit der rechten Maustaste und speichern Sie sie als Datei
Thierry Dalon

16

Sie können curldiesen Weg verwenden:

curl -OL https://raw.githubusercontent.com/<username>/<repo-name>/<branch-name>/path/to/file

Obedeutet, dass Curl den Inhalt herunterlädt
Lbedeutet, dass Curl der Umleitung folgt


15

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:

https://github.com/<username>/<repo>/some_directory/file.rb

Mit wget können Sie die Rohdatei abrufen von:

https://raw.github.com/<username>/<repo>/<branch>/some_directory/file.rb

Rails Composer ist ein gutes Beispiel dafür.


2
Einige Dateien werden auf raw.githubusercontent.com gehostet
jcollum

1
und manchmal ist es raw2.github.com nur fyi
jeremy.bass

11

Es gibt eine Chrome-Erweiterung namens Enhanced Github

Direkt neben jeder Datei wird eine Download-Schaltfläche hinzugefügt.

Geben Sie hier die Bildbeschreibung ein


Dies ist besser als Github Mate, nur weil nicht die Berechtigung "Lesen Sie Ihren gesamten Browserverlauf" angefordert wird! Denken Sie daran, mit der rechten Maustaste auf den Download-Button> Link speichern unter zu klicken.
Gh0sT

Es ist notwendig, ein Token von Ihrem GitHub-Konto hinzuzufügen.
BartusZak

das ist sicher zu benutzen?
Arian Saputra

1
@Ariansaputra Ich benutze es schon lange und bin nie auf Probleme gestoßen. Es sollte sicher sein. Ich verstehe nicht, warum es nicht so sein würde
Abraham Murciano Benzadon

@AbrahamMurcianoBenzadon danke
Arian Saputra

10

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


1
Können Sie einige Beispiele für den Pfad nennen? Wenn Sie Repo ist My-Repo und die Datei, die Sie erhalten möchten, ist bei x / y / z.txt, dann wäre die URL ... Danke
Gray

1
@Grayhttps://your_domain/api/v3/repos/{owner}/my-repo/contents/x/y/z.txt
Gregory Suvalian

Wenn ich eine Datei von einem Zweig herunterladen möchte? wie kann ich es tun?
Carlos Andres

@CarlosAndres verwenden Sie den Ref-Parameter developer.github.com/v3/repos/contents/#parameters-1
Drew Michel

9

Für den Fall, dass Sie eine Zip-Datei von githubverwenden möchtenwget

wget -O filename.zip https://github.com/downloads/user/repository/filename.zip?raw=true

Weitere Informationen finden Sie auf dieser Website


Sie können jede Datei herunterladen, nicht nur .zip.
Enriquetaso

6

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:

  1. Gehen Sie zu dem bestimmten Datensatz, den Sie herunterladen möchten, und klicken Sie darauf.
  2. Sie sehen die Schaltfläche "Raw" oben rechts im Datensatz.
  3. Drücken Sie "Alt" und klicken Sie dann mit der linken Maustaste auf die Schaltfläche "Raw".
  4. Die gesamte CSV wird in Ihr System heruntergeladen.

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.


5

Sie sollten es einfach mit der rawURL Ihrer Datei tun .

Zum Beispiel zum Herunterladen der README von AFNetworking:

curl https://raw.githubusercontent.com/AFNetworking/AFNetworking/master/README.md > ADREADME.md 

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


4

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

  • Bei den meisten Bildern gibt es einen Download-Button.
  • Auf der Homepage des Repositorys befindet sich ein Download-Button. Dies lädt natürlich das gesamte Repo herunter. Danach müssten Sie den Download entpacken und dann die benötigten Dateien manuell herausziehen.

2. Browser-Kontextmenü

  • Gehen Sie zu der Datei auf GitHub und klicken Sie mit der rechten Maustaste auf die Schaltfläche "Raw", um das Kontextmenü des Browsers zu öffnen. Wenn Sie Google Chrome verwenden, wählen Sie dort "Link speichern unter ...". Andere Browser haben eine ähnliche Benutzeroberfläche, die Auswahlbeschreibung kann jedoch variieren. Beispielsweise wird es in Safari als "Verknüpfte Datei herunterladen" und "Verknüpfte Datei herunterladen als" aufgeführt.

3. Tools von Drittanbietern

  • Es gibt eine Vielzahl von Browser-Erweiterungen und Web-Apps, die damit umgehen können, darunter auch DownGit . Fügen Sie einfach die GitHub-URL in die Datei ein und klicken Sie auf "Herunterladen". Beachten Sie, dass der Link die von GitHub.com gehostete Repository-Ansicht sein sollte, im Gegensatz zum direkten Dateilink. Beispiel für einen Dateilink : https://github.com/babel/babel-eslint/blob/master/lib/parse.js.

4. Subversion

  • GitHub unterstützt kein Git-Archiv (die Git-Funktion, mit der wir bestimmte Dateien herunterladen können). GitHub unterstützt jedoch eine Vielzahl von Subversion-Funktionen, von denen wir eine für diesen Zweck verwenden können. Subversion ist ein Versionskontrollsystem (eine Alternative zu Git). Sie müssen Subversion installiert haben. Holen Sie sich die GitHub-URL für die Datei, die Sie herunterladen möchten. Sie müssen diese URL jedoch ändern. Sie möchten den Link zum Repository, gefolgt vom Wort "Trunk", und mit dem Pfad zur verschachtelten Datei enden. Mit anderen Worten, wenn wir denselben Dateilink verwenden, den ich oben erwähnt habe, würden wir "blob / master" durch "trunk" ersetzen. Öffnen Sie abschließend ein Terminal, navigieren Sie zu dem Verzeichnis, in das der Inhalt heruntergeladen werden soll, und geben Sie den folgenden Befehl ein (ersetzen Sie die URL durch die von Ihnen erstellte URL):svn export https://github.com/babel/babel-eslint/trunk/lib/parse.js

5. cURL

  • Sie müssen cURL installiert haben. Gehen Sie zu der Datei auf GitHub.com, klicken Sie mit der linken Maustaste auf die Schaltfläche "Raw", um zum direkten Dateilink zu gelangen, kopieren Sie diese URL, öffnen Sie ein Terminal, navigieren Sie zu dem Verzeichnis, in das der Inhalt heruntergeladen werden soll, und geben Sie Folgendes ein Der folgende Befehl ersetzt den Dateinamen durch den Namen, den Sie benennen möchten, und ersetzt die URL durch die gerade kopierte : curl -o parse.js https://raw.githubusercontent.com/babel/babel-eslint/master/lib/parse.js.

6. GitHub API

  • Dies ist tatsächlich das, was DownGit unter der Haube verwendet. Stellen Sie mithilfe der REST-API von GitHub eine GET-Anforderung an den Inhaltsendpunkt. Der Endpunkt kann wie folgt aufgebaut werden : 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).

Ich verstehe, dass Download-Buttons nicht das gesamte Repo herunterladen ... ich könnte mich irren. Hier ein Beispiel: github.com/googleapis/google-api-php-client Wenn Sie das Repository herunterladen, erhalten Sie das Beispielverzeichnis nicht. Sie müssen die Zweige wechseln, um das zu tun.
Albert

1
@ Albert Guter Fang. Dies liegt tatsächlich daran, dass bestimmte Ordner / Dateien in der .gitattributes-Datei ausdrücklich ausgeschlossen wurden: github.com/googleapis/google-api-php-client/blob/master/…
jabacchetta

schön, danke, dass du das geteilt hast! BIS ...
Albert

4

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

Wir freuen uns, Releases bekannt zu geben, einen Workflow für den Versand von Software an Endbenutzer. Releases sind erstklassige Objekte mit Änderungsprotokollen und binären Assets, die einen vollständigen Projektverlauf über Git-Artefakte hinaus darstellen.

Veröffentlichungen werden von Versionshinweisen und Links zum Herunterladen der Software oder des Quellcodes begleitet.

Gemäß den Konventionen vieler Git-Projekte sind Releases an Git-Tags gebunden. Sie können ein vorhandenes Tag verwenden oder Releases das Tag erstellen lassen, wenn es veröffentlicht wird.

Geben Sie hier die Bildbeschreibung ein


1
Ja! Dies ist die einfachste Lösung, die direkt von Ihrem Browser aus durchgeführt werden kann! 1. Wählen releasesSie 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 Sie View file4. Klicken Sie auf View raw, um die Datei herunterzuladen !!!
Jonathan Benn

3

Das würde definitiv funktionieren. Zumindest in Chrome. Klicken Sie mit der rechten Maustaste auf das Symbol "Raw" -> Link speichern unter .


1
Dadurch wird die HTML-Datei der Github-Seite gespeichert, die den Github-Wrapper um die Datei enthält.
Gregor Thomas

@ Gregor - FYI, sollte es nicht, zumindest für Seiten, die TEXT sind. Im Zweifelsfall klicken Sie mit der linken Maustaste auf das Symbol "Raw". Dies sollte die Textdatei im Browser OHNE HTML öffnen. Klicken Sie nun mit der rechten Maustaste auf eine beliebige Stelle auf der Seite und führen Sie "Speichern unter ..." aus. (Oder wählen Sie Alles auswählen / Kopieren und dann Einfügen, wo immer Sie möchten)
ToolmakerSteve

3

Verwenden Sie zum Herunterladen einer Datei von einem Github-Repo den Befehl 'curl' mit dem Link zur Rohdatei.

curl https://raw.githubusercontent.com/user/repo/filename --output filename

Fügen Sie die Option --output gefolgt vom neuen Dateinamen hinzu, um die Rohdatei in die neu erstellte Datei herunterzuladen.


2
  1. Die Seite, auf die Sie verlinkt haben, beantwortet die erste Frage.

  2. GitHub hat auch eine Download-Funktion für Dinge wie Releases.

  3. Google Code hat überhaupt kein Git .

  4. GitHub, Google Code und SourceForge sind , um zu beginnen, kostenloses Hosting. SourceForge führt möglicherweise noch CVS aus .


2

Ich habe kürzlich einen Dienst namens gitzipOpen 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.


Aber wie lade ich nur jszip.min.jsaus diesem Repository herunter ? Trollgesicht
Levi Fuller

Öffnen Sie die Datei in Github und gehen Sie dann zu Raw. Sie sollten dann den Quellcode der Datei sehen und ihn dann mit dem Browser mit der rechten Maustaste herunterladen und unter speichern. Für mich geht das.
Boris

2

Mit 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 :

  1. Auf jeder öffentlichen GitHub-Repos-Seite.
  2. Doppelklicken Sie einfach auf die gewünschten Elemente.
  3. Klicken Sie unten rechts auf die Schaltfläche zum Herunterladen.
  4. Sehen Sie sich das Fortschritts-Dashboard an und warten Sie, bis der Browser den Trigger heruntergeladen hat.
  5. Holen Sie sich die ZIP-Datei.

Geben Sie hier die Bildbeschreibung ein

Geben Sie hier die Bildbeschreibung ein



1

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 rawMaustaste 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.


0
  1. Auf der rechten Seite direkt unter "In Desktop klonen" steht "Zip-Datei herunterladen".
  2. Laden Sie die Zip-Datei herunter
  3. Extrahieren Sie die Datei

Gibt es eine Möglichkeit, dies so zu tun, dass Sie den Inhalt der lfs-Datei haben?
Eule


0

Oder versuchen Sie es

const https = require('https');
const fs = require('fs');
const DOMAIN = 'raw.githubusercontent.com';

function writeFile(data, fileName) {
  fs.appendFile(fileName, data.toString(), err => {
    if (err) {
      console.log('error in writing file', err);
    }
  });
}

function EOF(data) {
  console.log('EOF');
}

function getFileName(pathToFile) {
  var result = pathToFile.split('/');
  var splitLength = result.length;
  return result[splitLength - 1];
}
function getFile(branchName, username, repoName, ...pathToFile) {
  pathToFile.forEach(item => {
    const path = `/${username}/${repoName}/${branchName}/${item}`;
    const URL = `${DOMAIN}${path}`;
    const options = {
      hostname: DOMAIN,
      path: path
    };
    var fileName = getFileName(item);

    https
      .get(options, function(res) {
        console.log(res.statusCode);
        /* if file not found */
        if (res.statusCode === 404) {
          console.log('FILE NOT FOUND');
        } else {
          /* if file found */
          res.on('data', data => writeFile(data, fileName));
          res.on('end', data => EOF(data));
        }
      })
      .on('error', function(res) {
        console.log('error in reading URL');
      });
  });
}
getFile('master', 'bansalAyush', 'InstagramClone', '.babelrc', 'README.md');

0

Ich habe das folgende Format verwendet und es ist mir wichtig, über den Pfad zu informieren.

https://github.com/user/repository/raw/branch/filename

^^^ das obige ist in meinen Augen nicht sehr vollständig

https://github.com/<user>/<repoROOTname>/blob/master/<path>/<filename>?raw=true

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 ¢


0

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 asyncUnterverzeichnis herunterladen .

https://github.com/reduxjs/redux/tree/master/examples

Es tut mir leid, dass ich keine Bilder posten darf.

Mit The github-files-fetchersollten Sie zuerst die urlSeite 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


-2

Das hat gerade für mich funktioniert ...

  1. Öffnen Sie die Rohdatei in einer separaten Registerkarte.

  2. Kopieren Sie das Ganze in Ihren Notizblock in eine neue Datei.

  3. Speichern Sie die Datei in der ursprünglichen Erweiterung

getestet mit einer PHP-Datei, die ich gerade heruntergeladen habe (zum Zeitpunkt der Antwort)

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.