나는 대부분의 개발자, 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에서만 작동합니다.
답변
curl
이 방법으로 사용할 수 있습니다 :
curl -OL https://raw.githubusercontent.com/<username>/<repo-name>/<branch-name>/path/to/file
O
curl이 콘텐츠를 다운로드
L
한다는 것은 curl이 리디렉션을 따르는 것을 의미합니다.
답변
이것은 이제 모든 파일에 대해 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 가 그 좋은 예입니다.