GitHub에서 단일 파일 다운로드
나는 대부분의 개발자, VCS 를 사용한다고 생각하며 일부는 Git을 사용하기를 바랍니다. 저장소에서 단일 파일의 다운로드 URL을 얻는 방법에 대한 팁이나 요령이 있습니까?
원시 파일을 표시하기위한 URL을 원하지 않습니다. 이진의 경우 아무것도 아닙니다.
http://support.github.com/discussions/feature-requests/41-download-single-file
GitHub를 "다운로드 서버"로 사용할 수 있습니까?
Google 코드로 전환하기로 결정한 경우 언급 된 기능이 여기에 표시됩니까?
아니면 오픈 소스 프로젝트를위한 무료 호스팅 및 VCS가 있습니까?
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을 직접 사용해서는 안됩니다 .
- 다운로드하려는 파일로 이동하십시오.
- 클릭하면 GitHub UI 내에서 내용을 볼 수 있습니다.
- 오른쪽 상단 에서 버튼을 마우스 오른쪽
Raw
버튼으로 클릭 하십시오 . - 다른 이름으로 저장...
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
이 요점 에 따르면 wget 또는 cURL을 사용할 수 있습니다.
- GitHub 저장소에서 파일 이름을 클릭하십시오.
- Raw를 클릭하여 파일 내용을 표시하십시오.
- 브라우저에서 URL을 복사하십시오.
명령 행에서 다음 중 하나를 실행하십시오.
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
GitHub Mate 는 단일 파일 다운로드를 쉽게 해줍니다. 아이콘을 클릭하여 다운로드하면 현재 Chrome에서만 작동합니다.
이것은 이제 모든 파일에 대해 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 가 그 좋은 예입니다.
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가 있습니다.
curl
이 방법으로 사용할 수 있습니다 :
curl -OL https://raw.githubusercontent.com/<username>/<repo-name>/<branch-name>/path/to/file
O
curl이 콘텐츠를 다운로드
L
한다는 것은 curl이 리디렉션을 따르는 것을 의미합니다.
를 github
사용하여 zip 파일을 다운로드하려는 경우wget
wget -O filename.zip https://github.com/downloads/user/repository/filename.zip?raw=true
자세한 내용 은이 웹 사이트 를 참조하십시오
이 방법은 MAC을 사용한 적이 없으므로 Windows에서 작동하므로 아래에서 언급 할 키에 대한 MAC의 대체 키가 무엇인지 알 수 없습니다.
CSV 파일에 대해 이야기합시다. CSV 파일을 다운로드하려는 경우 :
- 다운로드하려는 특정 데이터 세트로 이동하여 클릭하십시오.
- 데이터 세트의 오른쪽 상단에 "Raw"버튼이 표시됩니다.
- "Alt"를 누른 다음 "Raw"버튼을 마우스 왼쪽 버튼으로 클릭하십시오.
- 전체 CSV가 시스템에 다운로드됩니다.
Remeber는 Alt 키를 누른 상태에서 마우스 왼쪽 버튼을 동시에 클릭해야합니다. "Raw"버튼을 클릭하면 브라우저에서 CSV가 열립니다.
도움이 되길 바랍니다.
raw
파일 의 URL로 수행해야합니다.
예를 들어 AFNetworking의 README를 다운로드하려면 :
curl https://raw.githubusercontent.com/AFNetworking/AFNetworking/master/README.md > ADREADME.md
공개 리포지토리이므로 자격 증명이 필요하지 않습니다. URL의 종류에 유의하십시오 :raw.githubusercontent.com/path/to/file
Enhanced Github 라는 크롬 확장 프로그램이 있습니다
각 파일의 오른쪽에 다운로드 버튼이 직접 추가됩니다.
이것은 확실히 작동합니다. 적어도 Chrome에서는. "Raw"아이콘-> 다른 이름으로 링크 저장을 마우스 오른쪽 단추로 클릭하십시오 .
리포지토리 내에서 특정 파일을 다운로드하기 위해 링크하는 대신 GitHub의 릴리스 기능을 사용하여 다운로드 가능한 데이터 (예 : 컴파일 된 바이너리)를 해당 데이터를 생성하는 데 사용되는 태그가 지정된 소스 코드 버전과 연결해야합니다.
https://github.com/blog/1547-release-your-software
최종 사용자에게 소프트웨어를 제공하는 워크 플로우 인 Release를 발표하게되어 기쁩니다. 릴리스는 Git 아티팩트를 넘어 전체 프로젝트 히스토리를 제공하는 변경 로그 및 이진 자산이 포함 된 최고급 오브젝트입니다.
릴리스에는 소프트웨어 또는 소스 코드를 다운로드하기위한 릴리스 정보 및 링크가 제공됩니다.
많은 Git 프로젝트의 규칙에 따라 릴리스는 Git 태그와 연결됩니다. 기존 태그를 사용하거나 태그가 게시되면 릴리스에서 태그를 만들도록 할 수 있습니다.
연결 한 페이지가 첫 번째 질문에 답변합니다.
GitHub에는 릴리스와 같은 것들을위한 다운로드 기능도 있습니다.
GitHub, Google Code 및 SourceForge 는 시작부터 무료 호스팅입니다. SourceForge는 여전히 CVS를 수행 할 수 있습니다 .
최근에 서비스라는 gitzip
오픈 소스를 찾았습니다 .
사이트 -http : //kinolien.github.io/gitzip/
리포지토리-https: //github.com/KinoLien/gitzip
위 사이트를 방문하여 repo 또는 디렉토리 URL을 입력하면 개별 파일 또는 전체 디렉토리를 zip 파일로 다운로드 할 수 있습니다.
Github 저장소에서 파일을 다운로드하려면 원시 파일에 대한 링크와 함께 'curl'명령을 사용하십시오.
curl https://raw.githubusercontent.com/user/repo/filename --output filename
--output 옵션 다음에 새 파일 이름을 추가하여 원시 파일을 새로 만든 파일로 다운로드하십시오.
새로운 url
구조는 raw.giturl
다음과 같습니다.
curl 및 firefox를 사용하는 경우 ... 모든 인증 메커니즘 (일명 쿠키)을 포함한 curl 호출을 생성하는 cliget 애드온을 사용할 수 있습니다 .
raw
cliget-> "link for url for link"버튼을 마우스 오른쪽 버튼으로 클릭 하고 쉘에 붙여 넣으십시오. 파일을 보려면 로그인해야하더라도 파일이 제공됩니다.
이제이 google chrome extension을 사용하여 저장소 내의 파일 또는 특정 폴더를 다운로드 할 수 있습니다.
GitZip for github : 링크 : https://chrome.google.com/webstore/detail/gitzip-for-github/ffabmkklhbepgcgfonabamgnfafbdlkn
사용법 :
- 모든 GitHub 공개 리포지토리 페이지에서.
- 필요한 항목을 두 번 클릭하십시오.
- 오른쪽 하단에서 다운로드 버튼을 클릭하십시오.
- 진행 대시 보드를보고 브라우저 트리거 다운로드를 기다리십시오.
- ZIP 파일을 가져옵니다.
- 오른쪽의 "바탕 화면에 복제"바로 아래에 "zip 파일 다운로드"라고 표시되어 있습니다.
- Zip 파일 다운로드
- 파일 추출
GitHub Enterprise를 사용하는 사용자는 다음 구성표로 URL을 구성해야합니다.
Invoke-WebRequest http://github.mycompany.com/api/v3/repos/my-org/my-repo/contents/myfiles/file.txt -Headers @{"Authorization"="token 8d795936d2c1b2806587719b9b6456bd16549ad8"}
자세한 내용은 여기를 참조하십시오
http://artisticcheese.blogspot.com/2017/04/how-to-download-individual-files-from.html
아니면 이것을 시도하십시오
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');
다음 형식을 사용했으며 경로에 대해 알려주는 것이 중요하다고 생각합니다.
https://github.com/user/repository/raw/branch/filename
^^^ 위는 내 마음에 완전하지 않습니다
https://github.com/<user>/<repoROOTname>/blob/master/<path>/<filename>?raw=true
some said raw.github.com or raw instead of blob, but the 2nd line works for me and I hope will help others...
2¢
You can try github-files-fetcher, it is a command line tool which downloads a single folder or file from a GitHub repo.
Think a real scenario: you were visiting the following webpage page and wanna download the async
subdirectory alone.
https://github.com/reduxjs/redux/tree/master/examples
sorry for not being allowed to post images.
With The github-files-fetcher
, you should first copy the url
of that page, which is https://github.com/reduxjs/redux/tree/master/examples/async, and then run the command below in command line:
fetcher --url=https://github.com/reduxjs/redux/tree/master/examples/async
This is what worked for me just now...
Open the raw file in a seperate tab.
Copy the whole thing in your notepad in a new file.
원래 확장명으로 파일을 저장하십시오.
... 지금 방금 DL .php 파일을 위해 일했습니다.
참고 URL : https://stackoverflow.com/questions/4604663/download-single-files-from-github
'Programing' 카테고리의 다른 글
CSS에 여러 변환을 적용하는 방법은 무엇입니까? (0) | 2020.02.11 |
---|---|
JavaScript의 그래프 시각화 라이브러리 (0) | 2020.02.11 |
기본 파이썬 반복기 빌드 (0) | 2020.02.10 |
Lollipop의 최신 Chrome 버전에서 헤더 바와 주소 표시 줄의 색상을 변경하는 방법은 무엇입니까? (0) | 2020.02.10 |
매개 변수가있는 RedirectToAction (0) | 2020.02.10 |