Pobierz pojedyncze pliki z GitHub

625

Wydaje mi się, że większość z was, programistów, korzysta z dowolnego VCS i mam nadzieję, że niektórzy z was używają Git. Czy masz jakieś wskazówki lub wskazówki, jak uzyskać adres URL pobierania pojedynczego pliku w repozytorium?

Nie chcę adresu URL do wyświetlania surowego pliku; w przypadku plików binarnych to nic na nic.

http://support.github.com/discussions/feature-requests/41-download-single-file

Czy można w ogóle używać GitHub jako „serwera pobierania”?

Jeśli zdecydujemy się przejść na kod Google, czy wspomniana funkcjonalność jest tutaj prezentowana?

Czy jest jakiś darmowy hosting i VCS dla projektów typu open source?

Radek Simko
źródło
3
Wprowadzono funkcję GitHub Releases, aby wypełnić tę rolę.
pkamb
@RadekSimko DownGit może Ci pomóc. Zobacz odpowiedź.
Minhas Kamal
1
W przypadku GitLab patrz stackoverflow.com/a/51993087/6309 .
VonC
Nie będzie to działać dla wszystkich, ale jeśli używasz pand Pythona, możesz po prostu zrobić coś takiego (działa również w przypadku dużych plików): kliknij „wyświetl raw”, a następnie skopiuj adres URL z przeglądarki, a następnie po prostu zrób to: df = pd.read_csv ( „ raw.githubusercontent.com/t-davidson/… ”)
Graham Hesketh
Wypróbuj Gitzip dla github dla chrome
subtleseeker

Odpowiedzi:

580

Git nie obsługuje pobierania części repozytorium. Musisz pobrać wszystko. Ale powinieneś być w stanie to zrobić za pomocą GitHub.

Kiedy przeglądasz plik, ma on link do wersji „surowej”. URL jest skonstruowany tak jak

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

Wypełniając puste adresy URL, możesz użyć Wget lub cURL (z -Lopcją, patrz poniżej) lub cokolwiek innego, aby pobrać pojedynczy plik. Ponownie, nie dostaniesz żadnej z przyjemnych funkcji kontroli wersji używanych przez Git.

Aktualizacja: zauważyłem, że wspomniałeś, że to nie działa dla plików binarnych. Prawdopodobnie nie powinieneś używać plików binarnych w repozytorium Git, ale GitHub ma sekcję pobierania dla każdego repozytorium, której możesz użyć do przesyłania plików. Jeśli potrzebujesz więcej niż jednego pliku binarnego, możesz użyć pliku .zip. Adres URL do pobrania przesłanego pliku to:

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

Pamiętaj, że adresy URL podane powyżej, z linków dalej github.com, przekierują na raw.githubusercontent.com. Nie należy bezpośrednio używać adresu URL podanego przez to przekierowanie HTTP 302, ponieważ zgodnie z RFC 2616 : „Ponieważ przekierowanie może być czasami zmieniane, klient POWINIEN nadal używać URI żądania dla przyszłych żądań”.

jonescb
źródło
16
Uwaga dla potomności: Właśnie go przetestowałem i dobrze wykorzystuję surowe pliki binarne.
emmby 23.12.12
1
próbowano uzyskać plik zip o wielkości ~ 10 MB, wystąpił błąd: Błąd: obiekt blob jest zbyt duży
ina
32
Sugerowany format adresu URL nie działa dla mnie. Uważam, że https://raw.github.com/user/repository/branch/filename działa.
Brian C.
5
@BrianC .: (przynajmniej od 27 sierpnia 2013 r.) Format adresu URL wymieniony w odpowiedzi ( rawpo nazwie repozytorium) jest teraz automatycznie przekierowywany do podanego formatu ( nazwa hosta raw.github.com). W razie wątpliwości przejdź do odpowiedniego pliku na github.com i kliknij przycisk „Raw”.
mklement0
10
jeśli nadal chcesz używać curl, postępuj zgodnie z przekierowaniem, używając opcji -L w wierszu polecenia: curl -L -O github.com/user/repository/raw/branch/filename
Lynx-Lab
560
  1. Przejdź do pliku, który chcesz pobrać.
  2. Kliknij, aby wyświetlić zawartość w interfejsie GitHub.
  3. W prawym górnym rogu kliknij prawymRaw przycisk.
  4. Zapisz jako...
niedźwiedź
źródło
22
Zamiast „Zapisz jako” skopiuj adres URL. To jest adres URL pliku. Możesz go teraz pobrać za pomocą dowolnego narzędzia, które pobiera adres URL: wget, przeglądarka itp.
jgomo3
1
@MattParkins Właśnie próbowałem i myślę, że DZIAŁA teraz dla dużych plików (nawet plik binarny z ostrzeżeniem „nie możemy teraz pokazać plików, które są tak duże”)
lmsurprenant
3
Przestań robić te pełne kroki, użyj do tego rozszerzenia Chrome. chrome.google.com/webstore/detail/github-mate/…
Cam Song,
3
Mój Boże, zwięzła, prosta, wycinana i sucha, łatwa do odczytania i zrozumienia odpowiedź, która nie tylko ma sens, ale działa bez potrzeby korzystania z zewnętrznych zewnętrznych BS! Gdyby tylko wszystkie odpowiedzi StackOverflow były takie proste. Dziękuję Ci.
Padawan,
2
Działa to dla pojedynczego pliku C #. Być może github powinien dodać kolejny przycisk do pobierania. Kliknięcie przycisku prawym przyciskiem myszy nie jest bardzo intuicyjne.
Nick
39

Możesz użyć interfejsu API V3, aby uzyskać taki nieprzetworzony plik (potrzebny będzie token OAuth):

curl -H 'Authorization: token INSERTACCESSTOKENHERE' -H 'Accept: application/vnd.github.v3.raw' -O -L https://api.github.com/repos/owner/repo/contents/path

Wszystko to musi przebiegać w jednej linii. -OOpcja zapisuje plik w bieżącym katalogu. Możesz użyć, -o filenameaby określić inną nazwę pliku.

Aby uzyskać token OAuth, postępuj zgodnie z instrukcjami tutaj: https://help.github.com/articles/creating-an-access-token-for-command-line-use

Napisałem to również jako sedno: https://gist.github.com/madrobby/9476733

thomasfuchs
źródło
4
Ten jest dobry, ale niestety obsługuje tylko pliki o rozmiarze do 1 MiB.
Per Lundberg,
1
Jeśli wykonujesz to w programie, upewnij się, że User-Agent jest ustawiony.
Zugwalt
1
Czy możesz podać kilka przykładów ścieżki? Jeśli repo to my-repo, a plik, który chcesz uzyskać, to x / y / z.txt, to adres URL to ... Trudno było zrozumieć, że / owner / repo / powinien zostać wypełniony przeze mnie. Dzięki.
Grey,
Działa to dobrze, ale ma pewną wadę. Nie zawsze najnowsza wersja pliku. Spróbuj zmodyfikować plik, nie czekaj zbyt długo i spróbuj pobrać plik za pomocą tej metody. Zamiast tego otrzymasz tylko poprzednią wersję.
pacomix
34

Według tej zasady możesz użyć wget lub cURL:

  1. Kliknij nazwę pliku w repozytorium GitHub.
  2. Kliknij Raw, aby wyświetlić zawartość pliku.
  3. Skopiuj adres URL w przeglądarce.
  4. W wierszu polecenia uruchom albo:

    • wget --no-check-certificate --content-disposition https://URL-from-step3/
    • curl -LJO https://URL-from-step3/

    Jeszcze jedno: w RHEL7.6 uruchom następujące polecenie:

    • wget https://URL-from-step3/ --output-document=FILE_NAME
Ted Cox
źródło
wgetPo przejrzeniu pliku w repozytorium github i kliknięciu przycisku Raw użyłem surowej ścieżki do pliku źródłowego C. Pracowałem jak mistrz z Raspbian na moim Raspberry Pi 3.
Richard Chambers
Jestem trochę spóźniony do gry, ale działało to dla mnie idealnie. Przeglądanie surowej zawartości, a następnie kliknięcie prawym przyciskiem myszy w celu pobrania nie działało w moim przypadku, ponieważ potrzebowałem pliku w określonym formacie, który nie był oferowany przez mój komputer. Polecenia w tej odpowiedzi pobierają wszystko tak, jak jest.
Seankala
16

GitHub Mate sprawia, że ​​pobieranie pojedynczego pliku jest łatwe, wystarczy kliknąć ikonę, aby pobrać, obecnie działa tylko w Chrome.

Pobieranie GitHub Mate

Cam Song
źródło
1
@jcollum Sprawdzone właśnie teraz, działa dla mnie. Czy możesz upewnić się, że używasz najnowszej wersji? lub daj mi znać błąd. Cieszę się, że możesz pomóc.
Cam Song
2
Jestem na najnowszej wersji Chrome, 34.0.1847.116, a to na pewno nie działa. Jakiego systemu operacyjnego używasz? Im na OS X Mavericks.
Jahkobi Digital
Testowałem na Chrome 34 w Windows 7 i OS X Mavericks, oba działają. dość dziwne, jeśli nie działa, co? Pamiętaj, że folderu nie można pobrać. Może możesz spróbować na innym komputerze.
Cam Song
ok, ta metoda zadziała tylko jeśli masz rozszerzenie chrome. chrome.google.com/webstore/detail/github-mate/…
humazed
W tym widoku wystarczy kliknąć prawym przyciskiem myszy i zapisać jako plik
Thierry Dalon
16

Możesz użyć curltego sposobu:

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

Ooznacza, że ​​curl pobiera zawartość
Loznacza, że ​​curl następuje po przekierowaniu

znak
źródło
15

Jest to teraz możliwe w GitHub dla dowolnego pliku. Musisz przetłumaczyć swoje pliki dla raw.github.com. Na przykład jeśli plik znajduje się w repozytorium pod adresem:

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

Za pomocą wget możesz pobrać surowy plik z:

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

Rails Composer jest tego doskonałym przykładem.

Joe Leo
źródło
2
Niektóre pliki są hostowane na raw.githubusercontent.com
jcollum
1
a czasami to raw2.github.com tylko
fyi
11

Istnieje chromowane rozszerzenie o nazwie Enhanced Github

Dodaje przycisk pobierania bezpośrednio po prawej stronie każdego pliku.

wprowadź opis zdjęcia tutaj

Abraham Murciano Benzadon
źródło
Jest to lepsze niż Github Mate tylko dlatego, że nie prosi o pozwolenie „Przeczytaj całą historię przeglądania”! Pamiętaj, aby kliknąć prawym przyciskiem myszy przycisk Pobierz> Zapisz link jako.
Gh0sT
Konieczne jest dodanie tokena z konta GitHub.
BartusZak,
to jest bezpieczne w użyciu?
Arian saputra
1
@Ariansaputra Używam go od dłuższego czasu, nigdy nie spotkałem żadnych problemów. To powinno być bezpieczne. Nie rozumiem, dlaczego tak nie byłoby
Abraham Murciano Benzadon
@AbrahamMurcianoBenzadon dzięki
Arian saputra
10

Aby odpowiedzieć na to, co powiedział thomasfuchs, ale zamiast tego dla użytkowników GitHub Enterprise, oto, czego możesz użyć.

curl -H 'Authorization: token INSERTACCESSTOKENHERE' -H 'Accept: application/vnd.github.v3.raw' -O -L https://your_domain/api/v3/repos/owner/repo/contents/path

Oto także dokumentacja API https://developer.github.com/v3/repos/contents

Drew Michel
źródło
1
Czy możesz podać kilka przykładów ścieżki? Jeśli repo to my-repo, a plik, który chcesz pobrać, to x / y / z.txt, to adres URL to ... Dzięki
Gray
1
@Grayhttps://your_domain/api/v3/repos/{owner}/my-repo/contents/x/y/z.txt
Gregory Suvalian
jeśli chcę pobrać plik z oddziału? jak mogę to zrobić?
Carlos Andres
@CarlosAndres użyj parametru ref developer.github.com/v3/repos/contents/#parameters-1
Drew Michel
9

W przypadku, gdy chcesz pobrać plik zip z githubużywaniawget

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

zobacz tę stronę po więcej szczegółów

DJJ
źródło
Możesz pobrać dowolny plik, nie tylko .zip.
enriquetaso
6

Ta metoda działa w systemie Windows, ponieważ nigdy nie korzystałem z MAC, więc nie wiem, jakie są klucze alternatywne w MAC dla kluczy, które wymienię poniżej.

Porozmawiajmy o plikach CSV. JEŚLI chcesz pobrać plik CSV:

  1. Przejdź do tego konkretnego zestawu danych, który chcesz pobrać, i kliknij go.
  2. Zobaczysz przycisk „Raw” w prawym górnym rogu zestawu danych.
  3. Naciśnij „Alt”, a następnie kliknij lewym przyciskiem myszy przycisk „Raw”.
  4. Cały plik CSV zostanie pobrany w twoim systemie.

Pamiętaj, musisz jednocześnie nacisnąć Alt i lewy przycisk myszy. Wystarczy kliknąć przycisk „Raw”, aby otworzyć plik CSV w przeglądarce.

Mam nadzieję że to pomogło.

saadi123
źródło
5

Powinieneś to zrobić po prostu z rawadresem URL swojego pliku.

Na przykład, aby pobrać plik README z AFNetworking:

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

Ponieważ jest to repozytorium publiczne, nie potrzebujesz żadnych poświadczeń. Zwróć uwagę na rodzaj adresu URL:raw.githubusercontent.com/path/to/file

Kevin Delord
źródło
4

Podsumowanie 2019 r

Istnieje wiele sposobów radzenia sobie z tym, w zależności od tego, jak duży jest plik, niezależnie od tego, czy oprócz plików trzeba pobierać foldery, czy też planuje się to ręcznie lub programowo.

Istnieje sześć opcji podsumowanych poniżej. A dla tych, którzy wolą bardziej praktyczne wyjaśnienia, przygotowałem film z YouTube: Pobierz pojedyncze pliki i foldery z GitHub .

Również zamieściłem podobną odpowiedź na StackOverflow dla tych, którzy muszą pobierać pojedyncze foldery / katalogi z GitHub (w przeciwieństwie do plików).


1. Interfejs użytkownika GitHub

  • Na większości obrazów znajduje się przycisk pobierania.
  • Na stronie głównej repozytorium znajduje się przycisk pobierania. Oczywiście pobiera to całe repozytorium, po czym należy rozpakować pobieranie, a następnie ręcznie przeciągnąć wybrane pliki.

2. Menu kontekstowe przeglądarki

  • Przejdź do pliku na GitHub, kliknij prawym przyciskiem myszy przycisk „Raw”, aby otworzyć menu kontekstowe przeglądarki. Stamtąd, jeśli używasz Google Chrome, wybierz „Zapisz link jako ...”. Inne przeglądarki będą miały podobny interfejs użytkownika, ale opis wyboru może się różnić. Na przykład będzie on wyświetlany w przeglądarce Safari jako „Pobierz połączony plik” i „Pobierz połączony plik jako”.

3. Narzędzia stron trzecich

  • Istnieje wiele rozszerzeń przeglądarki i aplikacji internetowych, które mogą to obsłużyć, a DownGit jest jednym z nich. Wystarczy wkleić adres URL GitHub do pliku i nacisnąć przycisk „Pobierz”. Zauważ, że link powinien być widokiem repozytorium hostowanego na GitHub.com, a nie bezpośrednim linkiem do pliku. Przykładem link do pliku: https://github.com/babel/babel-eslint/blob/master/lib/parse.js.

4. Subversion

  • GitHub nie obsługuje git-archive (funkcja git, która pozwoliłaby nam pobierać określone pliki). GitHub obsługuje jednak różne funkcje Subversion, z których jedną możemy wykorzystać w tym celu. Subversion to system kontroli wersji (alternatywa dla git). Będziesz musiał zainstalować Subversion. Chwyć adres URL GitHub dla pliku, który chcesz pobrać. Musisz jednak zmodyfikować ten adres URL. Chcesz link do repozytorium, po którym następuje słowo „trunk” i kończy się ścieżką do zagnieżdżonego pliku. Innymi słowy, używając tego samego łącza pliku, o którym wspomniałem powyżej, zamienilibyśmy „blob / master” na „trunk”. Na koniec otwórz terminal, przejdź do katalogu, do którego chcesz pobrać zawartość, wpisz następujące polecenie (zastępując adres URL skonstruowanym adresem URL):svn export https://github.com/babel/babel-eslint/trunk/lib/parse.js

5. KRZYWA

  • Będziesz musiał zainstalować cURL. Przejdź do pliku na GitHub.com, kliknij lewym przyciskiem myszy przycisk „Raw”, aby przejść do bezpośredniego łącza pliku, skopiuj ten adres URL, otwórz terminal, przejdź do katalogu, do którego chcesz pobrać zawartość, wpisz następujące polecenie, zastępując nazwę pliku z cokolwiek chcesz to nazwać, i zastępując URL z jednej po prostu skopiowane: curl -o parse.js https://raw.githubusercontent.com/babel/babel-eslint/master/lib/parse.js.

6. GitHub API

  • Właśnie tego używa DownGit pod maską. Korzystając z interfejsu API REST GitHub, zgłoś żądanie GET do punktu końcowego treści. Punkt końcowy może być skonstruowany w sposób następujący: https://api.github.com/repos/:owner/:repo/contents/:path. Po wymianie zastępcze, przykład końcowy jest: https://api.github.com/repos/babel/babel-eslint/contents/lib/parse.js. Daje to dane JSON dla tego pliku, w tym adres URL pobierania (ten sam adres URL pobierania, którego użyliśmy w powyższym przykładzie cURL). Ta metoda nie jest jednak szczególnie przydatna w przypadku pojedynczego pliku (bardziej prawdopodobne byłoby, że użyjesz jej do pobrania określonego folderu, jak szczegółowo opisano w odpowiedzi, do której odsyłam powyżej).
jabacchetta
źródło
rozumiem, że przyciski pobierania nie pobierają całego repo ... mogę się mylić. oto przykład: github.com/googleapis/google-api-php-client jeśli pobierzesz repozytorium, nie dostaniesz katalogu przykładów; aby to zrobić, musisz zmienić gałęzie.
Albert
1
@albert Dobry połów. To dlatego, że specjalnie wykluczyli określone foldery / pliki w pliku .gitattributes
jabacchetta
miło, dziękuję za dzielenie się tym! TIL ...
Albert
4

Funkcja GitHub prasowa

Zamiast linku do pobrania określonego pliku w repozytorium, powinieneś użyć GitHub's Releases do powiązania danych do pobrania (takich jak skompilowane pliki binarne) z oznaczoną wersją kodu źródłowego użytego do wygenerowania tych danych.

https://github.com/blog/1547-release-your-software

Cieszymy się, że możemy ogłosić wydanie, procedurę przepływu oprogramowania do wysyłki do użytkowników końcowych. Wydania są pierwszorzędnymi obiektami z dziennikami zmian i zasobami binarnymi, które przedstawiają pełną historię projektu poza artefaktami Git.

Wydawnictwu towarzyszą informacje o wydaniu i łącza do pobrania oprogramowania lub kodu źródłowego.

Zgodnie z konwencjami wielu projektów Git, wydania są powiązane z tagami Git. Możesz użyć istniejącego tagu lub pozwolić wydaniom utworzyć tag, gdy zostanie opublikowany.

wprowadź opis zdjęcia tutaj

pkamb
źródło
1
Tak! To najprostsze rozwiązanie, możliwe do wykonania bezpośrednio z przeglądarki! 1. Na stronie głównej repozytorium wybierz releases2. Kliknij numer zatwierdzenia. 3. Znajdź ...żądany plik, kliknij trzy kropki i wybierz View file4. Kliknij, View rawaby pobrać plik !!!
Jonathan Benn
3

To na pewno zadziała. Przynajmniej w Chrome. Kliknij prawym przyciskiem myszy ikonę „Raw” -> Zapisz link jako .

Ankish Jain
źródło
1
Spowoduje to zapisanie pliku HTML strony github, który zawiera opakowanie github wokół pliku.
Gregor Thomas
@Gregor - FYI, nie powinno, przynajmniej dla stron, które są TEKSTOWE. W razie wątpliwości kliknij lewym przyciskiem myszy ikonę „Raw”. To powinno otworzyć plik tekstowy w przeglądarce, BEZ jakiegokolwiek HTML. Teraz kliknij rt gdziekolwiek na stronie i wykonaj „Zapisz jako ...”. (Lub wykonaj polecenie Zaznacz wszystko / Kopiuj, a następnie Wklej gdziekolwiek chcesz)
ToolmakerSteve 15.04.17
3

Aby pobrać plik z repozytorium Github, użyj polecenia „curl” z linkiem do surowego pliku.

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

Dodaj opcję --output, a następnie nową nazwę pliku, aby pobrać nieprzetworzony plik do nowo utworzonego pliku.

Jerzy
źródło
2
  1. Strona, do której linkujesz, odpowiada na pierwsze pytanie.

  2. GitHub ma również funkcję pobierania takich rzeczy jak wydania.

  3. Kod Google w ogóle nie ma Gita .

  4. Na początek GitHub, Google Code i SourceForge to darmowy hosting. SourceForge może nadal wykonywać CVS .

bmargulies
źródło
2

Niedawno znalazłem usługę o nazwie gitzipi jej również open source:

teren - http://kinolien.github.io/gitzip/

repo - https://github.com/KinoLien/gitzip

Wejdź na powyższą stronę, wprowadź adres repo lub katalog, możesz pobrać pojedyncze pliki lub cały katalog jako plik zip.

avi
źródło
Ale jak mogę pobierać tylko jszip.min.jsz tego repozytorium? troll face
Levi Fuller
otwórz plik w github, a następnie przejdź do raw. Powinieneś zobaczyć kod źródłowy pliku, a następnie możesz go pobrać za pomocą przeglądarki prawym przyciskiem myszy i zapisać jako. Mi to pasuje.
Boris,
2

Teraz można pobrać dowolny plik lub dowolny folder w repozytorium przy użyciu tego rozszerzenia Google Chrome:

GitZip dla github: link: https://chrome.google.com/webstore/detail/gitzip-for-github/ffabmkklhbepgcgfonabamgnfafbdlkn

Stosowanie :

  1. Na dowolnej publicznej stronie repozytoriów GitHub.
  2. Wystarczy dwukrotnie kliknąć potrzebne elementy.
  3. Kliknij przycisk pobierania w prawym dolnym rogu.
  4. Zobacz pulpit postępu i poczekaj na pobranie wyzwalacza przeglądarki.
  5. Pobierz plik ZIP.

wprowadź opis zdjęcia tutaj

wprowadź opis zdjęcia tutaj

Natesh bhat
źródło
1

Jeśli zdarzy ci się używać curl i firefox ... możesz użyć cliget dodatku który generuje wywołanie curl, w tym wszystkie mechanizmy uwierzytelniania (inaczej ciasteczka).

Więc kliknij prawym przyciskiem myszy rawprzycisk cliget -> „skopiuj adres URL linku”, a następnie wklej go do powłoki. Otrzymasz swój plik, nawet jeśli będziesz musiał się zalogować, aby go zobaczyć.

estani
źródło
0
  1. Po prawej stronie tuż poniżej „Klonuj na pulpicie” jest napisane „Pobierz plik zip”
  2. Pobierz plik zip
  3. Wyodrębnij plik
Evan Gertis
źródło
Czy można to zrobić w taki sposób, aby zawartość pliku lfs była dostępna?
Sowa
0

Lub spróbuj tego

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');
Ayush Bansal
źródło
0

Użyłem następującego formatu i uważam, że ważne jest, aby poinformować o ścieżce.

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

^^^ powyższe nie jest w moim przekonaniu kompletne

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

niektórzy mówili raw.github.com lub raw zamiast blob, ale druga linia działa dla mnie i mam nadzieję, że pomogą innym ...

2 ¢

rezwits
źródło
0

Możesz spróbować github-files-fetcher , jest to narzędzie wiersza poleceń, które pobiera pojedynczy folder lub plik z repozytorium GitHub.

Pomyśl o prawdziwym scenariuszu: odwiedzałeś następującą stronę i chcesz pobrać asyncsam podkatalog.

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

przepraszam, że nie mogę publikować zdjęć.

Przy pomocy The github-files-fetchernależy najpierw skopiować urltę stronę, którą jest https://github.com/reduxjs/redux/tree/master/examples/async , a następnie uruchomić poniższe polecenie w wierszu polecenia:

fetcher --url=https://github.com/reduxjs/redux/tree/master/examples/async

Gyumeijie
źródło
-2

Właśnie to działało dla mnie teraz ...

  1. Otwórz plik raw w osobnej karcie.

  2. Skopiuj całość do notatnika w nowym pliku.

  3. Zapisz plik w rozszerzeniu, które pierwotnie miał

przetestowany z plikiem php, który właśnie pobrałem (w momencie odpowiedzi)

Uczeń
źródło