GitHub에서 단일 파일 다운로드


625

나는 대부분의 개발자, VCS 를 사용한다고 생각하며 일부는 Git을 사용하기를 바랍니다. 저장소에서 단일 파일의 다운로드 URL을 얻는 방법에 대한 팁이나 요령이 있습니까?

원시 파일을 표시하기위한 URL을 원하지 않습니다. 이진의 경우 아무것도 아닙니다.

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

GitHub를 "다운로드 서버"로 사용할 수 있습니까?

Google 코드로 전환하기로 결정한 경우 언급 된 기능이 여기에 표시됩니까?

아니면 오픈 소스 프로젝트를위한 무료 호스팅 및 VCS가 있습니까?


3
GitHub 릴리스 기능이이 역할을 수행하기 위해 도입되었습니다.
pkamb

@RadekSimko DownGit 가 도움이 될 수 있습니다. 답변을 참조하십시오 .
Minhas Kamal

1
GitLab의 경우 stackoverflow.com/a/51993087/6309를 참조하십시오 .
VonC

이것은 모든 사람에게는 효과가 없지만 파이썬 팬더를 사용하는 경우 단순히 다음과 같은 작업을 수행 할 수 있습니다 (큰 파일에서도 작동). "보기 원시"를 클릭하고 브라우저에서 URL을 복사 한 다음 간단히 수행하십시오 : df = pd.read_csv ( ' raw.githubusercontent.com/t-davidson/… ')
Graham Hesketh

답변:


580

Git은 저장소의 일부 다운로드를 지원하지 않습니다. 모두 다운로드해야합니다. 그러나 GitHub 로이 작업을 수행 할 수 있어야합니다.

파일을 볼 때 "원시"버전에 대한 링크가 있습니다. URL은 과 같이 구성되어

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

URL에 공백을 채우면 Wget 또는 cURL ( -L옵션 과 함께 아래 참조)을 사용하거나 단일 파일을 다운로드 할 수 있습니다. 다시 말하지만, Git이 사용하는 멋진 버전 제어 기능은 없습니다.

업데이트 : 바이너리 파일에서는 작동하지 않는다고 언급했습니다. Git 리포지토리에서 이진 파일을 사용해서는 안되지만 GitHub에는 파일을 업로드하는 데 사용할 수있는 각 리포지토리에 대한 다운로드 섹션이 있습니다. 바이너리가 둘 이상 필요한 경우 .zip 파일을 사용할 수 있습니다. 업로드 된 파일을 다운로드하기위한 URL은 다음과 같습니다.

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

의 링크에서 위에 제공된 URL은로 github.com리디렉션됩니다 raw.githubusercontent.com. RFC 2616에 따라 " 이따로 리디렉션이 변경 될 수 있으므로 클라이언트는 향후 요청에 계속 Request-URI를 사용해야합니다." 이므로이 HTTP 302 리디렉션에서 제공 한 URL을 직접 사용해서는 안됩니다 .


16
후손에 대한 참고 사항 : 방금 테스트했으며 바이너리 파일에 원시 작업을 사용했습니다.
emmby

1
~ 10메가바이트에 대한 파일 가지고 오류를 압축 시도 : 오류 : 덩어리가 너무 큽니다
INA

32
제안 된 URL 형식이 작동하지 않습니다. https://raw.github.com/user/repository/branch/filename이 작동 한다는 것을 알았습니다 .
Brian C.

5
@BrianC .: (적어도 2013 년 8 월 27 일 현재) 답변에 언급 된 URL 형식 ( raw저장소 이름 뒤)이 이제 사용자가 언급 한 형식 (hostname raw.github.com) 으로 자동 리디렉션됩니다 . 의심스러운 경우, github.com에서 해당 파일을 찾아 'Raw'버튼을 클릭하십시오.
mklement0

10
당신은 여전히 컬을 사용하려는 경우, 명령 행에서 -L 옵션을 사용하여 리디렉션을 수행하십시오 컬 -L -O github.com/user/repository/raw/branch/filename
살쾡이 - 랩

560
  1. 다운로드하려는 파일로 이동하십시오.
  2. 클릭하면 GitHub UI 내에서 내용을 볼 수 있습니다.
  3. 오른쪽 상단 에서 버튼을 마우스 오른쪽Raw 버튼으로 클릭 하십시오 .
  4. 다른 이름으로 저장...

22
"다른 이름으로 저장"대신 URL을 복사하십시오. 그게 파일의 URL입니다. 이제 URL을 사용하여 wget, 브라우저 등을 다운로드하는 모든 도구를 사용하여 다운로드 할 수 있습니다.
jgomo3

1
@MattParkins 방금 시도했는데 큰 파일 ( "지금은 큰 파일을 표시 할 수 없습니다"라는 경고가있는 이진 파일) 경고에도 작동한다고 생각합니다.
lmsurprenant

3
이 자세한 단계를 중지하고이 크롬 확장 프로그램을 사용하세요. chrome.google.com/webstore/detail/github-mate/…
Cam Song

3
나의 신은 간결하고, 솔직하고, 자르고, 건조하고, 읽기 쉽고 이해하기 쉬우 며 외부의 제 3 자 BS가 필요하지 않고 이해가 될뿐만 아니라 작동합니다. 모든 StackOverflow 답변만이 간단하다면. 감사합니다.
Padawan

2
이것은 단일 C # 파일에서 작동했습니다. 아마도 github은 다운로드를 위해 다른 버튼을 추가해야 할 것입니다. 버튼을 마우스 오른쪽 버튼으로 클릭하는 것은 그리 직관적이지 않습니다.
Nick

39

V3 API를 사용하여 다음과 같은 원시 파일을 얻을 수 있습니다 (OAuth 토큰이 필요함).

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

이 모든 것은 한 줄로 가야합니다. 이 -O옵션은 파일을 현재 디렉토리에 저장합니다. -o filename다른 파일 이름을 지정하는 데 사용할 수 있습니다 .

OAuth 토큰을 얻으려면 다음 지침을 따르십시오. https://help.github.com/articles/creating-an-access-token-for-command-line-use

나는 이것을 요점으로 작성했습니다 : https://gist.github.com/madrobby/9476733


4
이것은 좋지만 불행히도 최대 1MiB 크기의 파일 만 지원합니다.
Per Lundberg

1
프로그램 내에서이를 실행하는 경우 User-Agent가 설정되어 있는지 확인하십시오.
Zugwalt

1
경로의 예를 들어 줄 수 있습니까? repo가 ​​my-repo이고 가져 오려는 파일이 x / y / z.txt 인 경우 URL은 다음과 같습니다. / owner / repo /를 작성해야한다는 것을 알기가 어려웠습니다. 감사.
그레이

이것은 잘 작동하지만 단점이 있습니다. 항상 최신 버전의 파일은 아닙니다. 파일을 수정하고 너무 많이 기다리지 말고이 방법으로 파일을 검색하십시오. 대신 이전 버전을 얻게됩니다.
pacomix

34

이 요점 에 따르면 wget 또는 cURL을 사용할 수 있습니다.

  1. GitHub 저장소에서 파일 이름을 클릭하십시오.
  2. Raw를 클릭하여 파일 내용을 표시하십시오.
  3. 브라우저에서 URL을 복사하십시오.
  4. 명령 행에서 다음 중 하나를 실행하십시오.

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

    하나 더 : RHEL7.6에서 다음을 실행하십시오.

    • wget https://URL-from-step3/ --output-document=FILE_NAME

내가 사용하는 wget내가 GitHub의 저장소에 파일을보기 및 원시 버튼을 클릭 한 후 원하는 C 소스 파일의 원시 경로 하였다. 내 라즈베리 파이 3. Raspbian와 챔피언처럼 일
리차드 챔버

나는 게임에 조금 늦었지만 이것은 완벽하게 작동했습니다. 컴퓨터에서 제공하지 않은 특정 형식의 파일이 필요했기 때문에 원시 콘텐츠를 본 다음 마우스 오른쪽 버튼을 클릭하여 다운로드하지 못했습니다. 이 답변의 명령은 모든 것을 그대로 다운로드합니다.
Seankala

16

GitHub Mate 는 단일 파일 다운로드를 쉽게 만들어줍니다. 아이콘을 클릭하여 다운로드하면 현재 Chrome에서만 작동합니다.

GitHub Mate 다운로드


1
@jcollum 지금 확인하고 나를 위해 일합니다. 최신 버전을 사용하고 있는지 확인할 수 있습니까? 또는 오류를 알려주십시오. 당신이 그것을 작동하게 도와서 다행입니다.
Cam Song

2
최신 버전의 Chrome (34.0.1847.116)을 사용 중이며 제대로 작동하지 않습니다. 어떤 운영 체제를 사용하고 있습니까? OS X Mavericks에 있습니다.
Jahkobi Digital

Windows 7 및 OS X Mavericks의 Chrome 34에서 테스트했으며 모두 작동합니다. 작동하지 않으면 아주 이상하지? 폴더는 다운로드 할 수 없습니다. 다른 컴퓨터에서 시도해 볼 수 있습니다.
Cam Song

좋아, 그 방법은 크롬 확장 기능이있는 경우에만 작동합니다. chrome.google.com/webstore/detail/github-mate/…
11

이보기에서 마우스 오른쪽 버튼을 클릭하고 파일로 저장
Thierry Dalon

16

curl이 방법으로 사용할 수 있습니다 :

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

Ocurl이 콘텐츠를 다운로드
L한다는 것은 curl이 리디렉션을 따르는 것을 의미합니다.


15

이것은 이제 모든 파일에 대해 GitHub에서 가능합니다. raw.github.com에 대한 파일을 번역해야합니다. 예를 들어, 파일이 다음 위치의 저장소에있는 경우 :

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

wget을 사용하면 다음에서 원시 파일을 가져올 수 있습니다.

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

Rails Composer 가 그 좋은 예입니다.


2
일부 파일은 raw.githubusercontent.com
jcollum

1
그리고 때로는 raw2.github.com입니다 fyi
jeremy.bass

11

Enhanced Github 라는 크롬 확장 프로그램이 있습니다

각 파일의 오른쪽에 다운로드 버튼이 직접 추가됩니다.

여기에 이미지 설명을 입력하십시오


이것은 "모든 인터넷 사용 기록 읽기"권한을 요구하지 않기 때문에 Github Mate보다 낫습니다! 다운로드 버튼> 다른 이름으로 링크 저장을 마우스 오른쪽 버튼으로 클릭하십시오.
Gh0sT

GitHub 계정에서 토큰을 추가해야합니다.
BartusZak

안전한가요?
Arian saputra

1
@ Ariansaputra 나는 오랫동안 그것을 사용해 왔으며 어떤 문제도 겪지 않았습니다. 안전해야합니다. 왜 그렇지
않을지 모르겠습니다

@AbrahamMurcianoBenzadon 감사합니다
Arian saputra

10

thomasfuchs의 말을 따르지만 GitHub Enterprise 사용자를 대신하여 여기에 사용할 수있는 것이 있습니다.

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

또한 API 설명서 https://developer.github.com/v3/repos/contents가 있습니다.


1
경로의 예를 들어 줄 수 있습니까? repo가 ​​my-repo이고 가져 오려는 파일이 x / y / z.txt 인 경우 URL은 다음과 같습니다. Thanks
Gray

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

지점에서 파일을 다운로드하려면? 어떻게하니?
Carlos Andres


9

github사용하여 zip 파일을 다운로드하려는 경우wget

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

자세한 내용 은이 웹 사이트 를 참조하십시오


.zip뿐만 아니라 모든 파일을 다운로드 할 수 있습니다.
enriquetaso

6

이 방법은 MAC을 사용한 적이 없으므로 Windows에서 작동하므로 아래에서 언급 할 키에 대한 MAC의 대체 키가 무엇인지 알 수 없습니다.

CSV 파일에 대해 이야기합시다. CSV 파일을 다운로드하려는 경우 :

  1. 다운로드하려는 특정 데이터 세트로 이동하여 클릭하십시오.
  2. 데이터 세트의 오른쪽 상단에 "Raw"버튼이 표시됩니다.
  3. "Alt"를 누른 다음 "Raw"버튼을 마우스 왼쪽 버튼으로 클릭하십시오.
  4. 전체 CSV가 시스템에 다운로드됩니다.

Remeber는 Alt 키를 누른 상태에서 마우스 왼쪽 버튼을 동시에 클릭해야합니다. "Raw"버튼을 클릭하면 브라우저에서 CSV가 열립니다.

도움이 되길 바랍니다.


5

raw파일 의 URL로 수행해야합니다.

예를 들어 AFNetworking의 README를 다운로드하려면 :

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

공개 리포지토리이므로 자격 증명이 필요하지 않습니다. URL의 종류에 유의하십시오 :raw.githubusercontent.com/path/to/file


4

2019 년 요약

파일 크기, 파일 외에 폴더를 다운로드해야하는지 여부, 수동 또는 프로그래밍 방식으로 파일을 계획하는지에 따라이를 처리하는 다양한 방법이 있습니다.

아래에 요약 된 6 가지 옵션이 있습니다. 더 실습적인 설명을 선호하는 사람들을 위해 YouTube 비디오를 정리했습니다 . GitHub에서 개별 파일 및 폴더 다운로드 .

또한 파일과 달리 GitHub에서 단일 폴더 / 디렉토리를 다운로드 해야하는 사람들 에 대해 StackOverflow비슷한 답변을 게시했습니다 .


1. GitHub 사용자 인터페이스

  • 대부분의 이미지에는 다운로드 버튼이 있습니다.
  • 리포지토리 홈페이지에 다운로드 버튼이 있습니다. 물론 이것은 전체 저장소를 다운로드 한 후 다운로드 압축을 풀고 필요한 특정 파일을 수동으로 드래그해야합니다.

2. 브라우저 컨텍스트 메뉴

  • GitHub의 파일로 이동하여 "Raw"버튼을 마우스 오른쪽 버튼으로 클릭하여 브라우저의 상황에 맞는 메뉴를 엽니 다. 여기에서 Chrome을 사용하는 경우 "다른 이름으로 링크 저장 ..."을 선택하십시오. 다른 브라우저에서도 UI가 비슷하지만 선택 설명이 다를 수 있습니다. 예를 들어, Safari에서 "링크 된 파일 다운로드"및 "링크 된 파일을 다른 이름으로 다운로드"로 표시됩니다.

3. 타사 도구

  • 이를 처리 할 수있는 다양한 브라우저 확장 프로그램과 웹 앱이 있으며 DownGit 이 그 중 하나입니다. GitHub URL을 파일에 붙여넣고 "다운로드"버튼을 누르기 만하면됩니다. 직접 파일 링크가 아닌 링크는 GitHub.com 호스팅 리포지토리 뷰 여야합니다. 파일 링크 예 : https://github.com/babel/babel-eslint/blob/master/lib/parse.js.

4. 서브 버전

  • GitHub는 git-archive (특정 파일을 다운로드 할 수있는 git 기능)를 지원하지 않습니다. 그러나 GitHub는 다양한 Subversion 기능을 지원하며이 기능 중 하나를 사용할 수 있습니다. Subversion은 버전 제어 시스템입니다 (git의 대안). Subversion이 설치되어 있어야합니다. 다운로드하려는 파일의 GitHub URL을 가져옵니다. 그러나이 URL을 수정해야합니다. 저장소에 대한 링크 다음에 "trunk"라는 단어가 있고 중첩 된 파일의 경로로 끝나기를 원합니다. 즉, 위에서 언급 한 것과 동일한 파일 링크를 사용하여 "blob / master"를 "trunk"로 바꿉니다. 마지막으로 터미널을 열고 컨텐츠를 다운로드 할 디렉토리로 이동 한 후 다음 명령을 입력하십시오 (URL을 구성한 URL로 대체).svn export https://github.com/babel/babel-eslint/trunk/lib/parse.js

5. 컬

  • cURL이 설치되어 있어야합니다. GitHub.com의 파일로 이동하여 "Raw"버튼을 마우스 왼쪽 버튼으로 클릭하여 직접 파일 링크로 이동 한 후이 URL을 복사하고 터미널을 열고 콘텐츠를 다운로드 할 디렉토리로 이동 한 다음 다음 명령을 사용하여 파일 이름을 원하는 이름으로 바꾸고 URL을 방금 복사 한 이름으로 바꿉니다 curl -o parse.js https://raw.githubusercontent.com/babel/babel-eslint/master/lib/parse.js..

6. GitHub API

  • 이것이 실제로 DownGit이 후드에서 사용하는 것입니다. 사용 GitHub의의 REST API를 , 컨텐츠 엔드 포인트 GET 요청을합니다. 엔드 포인트는 다음과 같이 구성 될 수 있습니다 https://api.github.com/repos/:owner/:repo/contents/:path.. 자리 표시자를 교체 한 후 예제 엔드 포인트는 다음과 같습니다 https://api.github.com/repos/babel/babel-eslint/contents/lib/parse.js. 다운로드 URL (위의 cURL 예제에서 사용한 것과 동일한 다운로드 URL)을 포함하여 해당 파일에 대한 JSON 데이터를 제공합니다. 그러나이 방법은 단일 파일에 유용하지는 않습니다 (위의 링크에서 자세히 설명한대로 특정 폴더를 다운로드하는 데 더 많이 사용할 것입니다).

다운로드 버튼이 전체 저장소를 다운로드하지 못한다는 것을 이해합니다 ... 나는 잘못 될 수 있습니다. 예를 들면 다음과 같습니다. github.com/googleapis/google-api-php-client 저장소를 다운로드하면 examples 디렉토리가 표시되지 않습니다. 그렇게하려면 지점을 변경해야합니다.
앨버트

1
@albert 잘 잡아라. 실제로는 .gitattributes 파일에서 특정 폴더 / 파일을 구체적으로 제외했기 때문입니다. github.com/googleapis/google-api-php-client/blob/master/…
jabacchetta

좋아요, 공유해 주셔서 감사합니다! TIL ...
알버트

4

GitHub 릴리즈 기능

리포지토리 내에서 특정 파일을 다운로드하기 위해 링크하는 대신 GitHub의 릴리스 기능을 사용하여 다운로드 가능한 데이터 (예 : 컴파일 된 바이너리)를 해당 데이터를 생성하는 데 사용되는 태그가 지정된 소스 코드 버전과 연결해야합니다.

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

최종 사용자에게 소프트웨어를 제공하는 워크 플로우 인 Releases를 발표하게되어 기쁩니다. 릴리스는 Git 아티팩트를 넘어 전체 프로젝트 히스토리를 제공하는 변경 로그 및 이진 자산이 포함 된 최고급 오브젝트입니다.

릴리스에는 소프트웨어 또는 소스 코드를 다운로드하기위한 릴리스 정보 및 링크가 제공됩니다.

많은 Git 프로젝트의 규칙에 따라 릴리스는 Git 태그와 연결됩니다. 기존 태그를 사용하거나 태그가 게시되면 릴리스에서 태그를 만들도록 할 수 있습니다.

여기에 이미지 설명을 입력하십시오


1
예! 이것은 브라우저에서 바로 할 수있는 가장 간단한 솔루션입니다! 1. 저장소 기본 페이지에서 releases2. 확약 번호를 클릭하십시오. 3. 원하는 파일을 찾은 다음 3 개의 점 ...View file클릭하고 4를 선택하십시오 . View raw파일을 다운로드 하려면을 클릭하십시오 !!!
조나단 벤

3

이것은 확실히 작동합니다. 적어도 Chrome에서는. "Raw"아이콘-> 다른 이름으로 링크 저장을 마우스 오른쪽 단추로 클릭하십시오 .


1
이것은 파일 주위에 github 래퍼를 포함하는 github 페이지의 HTML 파일을 저장합니다.
Gregor Thomas

@Gregor-참고로 적어도 TEXT 페이지에는 사용해서는 안됩니다. 의심스러운 경우 "Raw"아이콘을 마우스 왼쪽 버튼으로 클릭하십시오. HTML없이 브라우저에서 텍스트 파일을 열어야합니다. 이제 페이지의 아무 곳이나 마우스 오른쪽 버튼으로 클릭하고 "다른 이름으로 저장 ..."을 수행하십시오. (또는 Select-All / Copy를 선택한 다음 원하는 곳에 붙여 넣기)
ToolmakerSteve

3

Github 저장소에서 파일을 다운로드하려면 원시 파일에 대한 링크와 함께 'curl'명령을 사용하십시오.

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

--output 옵션 다음에 새 파일 이름을 추가하여 원시 파일을 새로 작성된 파일로 다운로드하십시오.


2
  1. 링크 한 페이지가 첫 번째 질문에 답변합니다.

  2. GitHub에는 릴리스와 같은 것들을위한 다운로드 기능도 있습니다.

  3. Google 코드 에는 Git 이 전혀 없습니다 .

  4. GitHub, Google Code 및 SourceForge 는 시작부터 무료 호스팅입니다. SourceForge는 여전히 CVS를 수행 할 수 있습니다 .


2

최근에 서비스라는 gitzip오픈 소스를 찾았습니다 .

사이트 -http : //kinolien.github.io/gitzip/

리포지토리-https: //github.com/KinoLien/gitzip

위 사이트를 방문하여 저장소 또는 디렉토리 URL을 입력하면 개별 파일 또는 전체 디렉토리를 zip 파일로 다운로드 할 수 있습니다.


그러나 jszip.min.js해당 저장소 에서만 어떻게 다운로드 합니까? 트롤 얼굴
레위 풀러

github에서 파일을 연 다음 raw로 이동하십시오. 파일의 소스 코드가 표시되면 마우스 오른쪽 버튼을 클릭하여 브라우저를 사용하여 다운로드 한 후 다른 이름으로 저장하십시오. 그것은 나를 위해 작동합니다.
보리스

2

이제이 google chrome extension을 사용하여 저장소 내의 파일 또는 특정 폴더를 다운로드 할 수 있습니다.

GitZip for github : 링크 : https://chrome.google.com/webstore/detail/gitzip-for-github/ffabmkklhbepgcgfonabamgnfafbdlkn

사용법 :

  1. 모든 GitHub 공개 리포지토리 페이지에서.
  2. 필요한 항목을 두 번 클릭하십시오.
  3. 오른쪽 하단에서 다운로드 버튼을 클릭하십시오.
  4. 진행 대시 보드를보고 브라우저 트리거 다운로드를 기다리십시오.
  5. ZIP 파일을 가져옵니다.

여기에 이미지 설명을 입력하십시오

여기에 이미지 설명을 입력하십시오



1

curl 및 firefox를 사용하는 경우 ... 모든 인증 메커니즘 (일명 쿠키)을 포함한 curl 호출을 생성하는 cliget 애드온을 사용할 수 있습니다 .

rawcliget-> "link for url for link"버튼을 마우스 오른쪽 버튼으로 클릭 하고 쉘에 붙여 넣으십시오. 로그인을해야만 파일을 볼 수 있습니다.


0
  1. 오른쪽의 "바탕 화면에 복제"바로 아래에 "zip 파일 다운로드"라고 표시되어 있습니다.
  2. Zip 파일 다운로드
  3. 파일 추출

lfs 파일 내용이있는 방식으로이를 수행 할 수있는 방법이 있습니까?
올빼미


0

아니면 이것을 시도

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

나는 다음 형식을 사용했으며 경로에 대해 알려주는 것이 중요하다고 생각합니다.

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

^^^ 위는 내 마음에 완전하지 않습니다

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

일부는 raw.github.com 또는 blob 대신 raw라고 말했지만 두 번째 줄은 저에게 효과적이며 다른 사람들을 도울 것입니다 ...

2 ¢


0

github-files-fetcher 시도 할 수 있습니다 .GitHub 저장소에서 단일 폴더 또는 파일을 다운로드하는 명령 줄 도구입니다.

실제 시나리오를 생각해보십시오. 다음 웹 페이지를 방문하여 async하위 디렉토리 만 다운로드하려고 합니다.

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

이미지 게시가 허용되지 않아서 죄송합니다.

를 사용하면 github-files-fetcher먼저 url해당 페이지의 페이지 ( https://github.com/reduxjs/redux/tree/master/examples/async) 를 복사 한 다음 명령 줄에서 아래 명령을 실행해야합니다.

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


-2

이것이 바로 지금 나를 위해 일한 것입니다 ...

  1. 별도의 탭에서 원시 파일을 엽니 다.

  2. 메모장의 모든 내용을 새 파일로 복사하십시오.

  3. 원래 확장명으로 파일을 저장하십시오.

방금 다운로드 한 PHP 파일로 테스트했습니다 (응답시)

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.