GitHub 저장소에서 단일 폴더 또는 디렉토리 다운로드 해보십시오. git@github.com:foobar/Test.git 디렉토리 구조 : Test/ ├── foo/ │

GitHub에서 호스팅되는 원격 Git 저장소에서 특정 폴더 또는 디렉토리 만 다운로드하려면 어떻게해야합니까?

GitHub 저장소의 예제가 여기에 있다고 가정 해보십시오.

git@github.com:foobar/Test.git

디렉토리 구조 :

Test/
├── foo/
│   ├── a.py
│   └── b.py
└── bar/
    ├── c.py
    └── d.py

foo 폴더 만 다운로드 하고 전체 테스트 프로젝트를 복제하지 않습니다.



답변

2016 년 9 월 업데이트 : 커뮤니티에서 생성 한 몇 가지 도구가 있습니다.


Git은 이것을 지원하지 않지만 Github는 SVN을 통해 지원합니다. Subversion으로 코드를 체크 아웃하면 Github은 기본적으로 repo를 백엔드의 git에서 subversion으로 변환 한 다음 요청 된 디렉토리를 제공합니다.

이 기능을 사용하여 특정 폴더를 다운로드하는 방법은 다음과 같습니다. 유명한 자바 스크립트 라이브러리 lodash를 예로 사용하겠습니다 .

  1. 다운로드하려는 폴더로 이동하십시오 . 하자의 다운로드 /test에서 master분기합니다.
    github repo URL 예제

  2. subversion의 URL을 수정하십시오 . 교체 tree/master와 함께 trunk.

    https://github.com/lodash/lodash/tree/master/test

    https://github.com/lodash/lodash/trunk/test

  3. 폴더를 다운로드하십시오 . 커맨드 라인으로 가서 SVN으로 폴더를 가져옵니다.

svn checkout https://github.com/lodash/lodash/trunk/test

Github에서 더 큰 리포지토리를 변환하는 데 최대 30 초가 걸리므로 활동이 즉시 나타나지 않을 수 있으므로 인내심을 가지십시오.

전체 URL 형식 설명 :

  • master지점에 관심이 있다면 trunk대신 사용하십시오. 전체 경로는trunk/foldername
  • foo지점에 관심이 있다면 branches/foo대신 사용하십시오. 전체 경로는 다음과 같습니다branches/foo/foldername
  • 팁 : svn ls원하는 경우 다운로드하기 전에 사용 가능한 태그 및 분기를 보는 데 사용할 수 있습니다

그게 다야! Github 변경 사항 커밋 및 푸시 지원을 포함하여 더 많은 하위 버전 기능 도 지원합니다.


답변

이 기능에 대한 두 가지 옵션 :

옵션 1 : GitZip 브라우저 확장

크롬 확장 , Firefox 애드온

용법:

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

토큰 받기 :

  1. 브라우저에서 GitZip Extension 아이콘을 클릭하십시오.
  2. “Get Token”옆의 “Normal”또는 “Private”링크를 클릭하십시오.
  3. Github 인증 페이지에서 GitZip 권한을 승인하십시오.
  4. 처음의 저장소 페이지로 돌아갑니다.
  5. 계속 사용하십시오.

옵션 2 : Github gh-page

GitHub API 및 FileZaver.js 라이브러리 인 JSZip을 사용하는 http://kinolien.github.io/gitzip

1 단계 : 오른쪽 상단의 필드에 github url을 입력하십시오.
2 단계 : 다운로드 압축을 위해 Enter 키를 누르거나 다운로드를 클릭하거나 하위 폴더 및 파일 목록을 보려면 검색을 클릭하십시오.
3 단계 : “zip 파일 다운로드”또는 “파일 가져 오기”버튼을 클릭하여 파일을 가져옵니다.

대부분의 경우 Github Trees API 제한으로 인해 폴더에 1,000 개가 넘는 파일이 포함되어있는 것을 제외하고는 정상적으로 작동합니다. ( Github API # Contents 참조 )

또한 GitHub 계정이 있고이 사이트에서 “get token”링크를 사용하는 경우 개인 / 공개 저장소를 지원하고 속도 제한을 업그레이드 할 수 있습니다.


답변

DownGit > URL 입력> 다운로드로 이동 하십시오!

이제 GitHub 공용 디렉토리 또는 DownGit 에서 파일 ( 특히 큰 파일 )에 대해 직접 다운로드 하거나 다운로드 링크 를 만들 수 있습니다 ! 다음은 간단한 데모입니다.


다운 깃


다운로드 한 파일의 속성 세부 사용법을 구성 할 수도 있습니다 .


답변

이있는 경우 다음 을 수행 svn하는 svn export데 사용할 수 있습니다 .

svn export https://github.com/foobar/Test.git/trunk/foo

URL 형식을 확인하십시오.

  • 기본 URL은 https://github.com/
  • /trunk 끝에 추가

를 실행하기 전에 먼저 다음 svn export을 사용하여 디렉토리의 내용을 확인하는 것이 좋습니다.

svn ls https://github.com/foobar/Test.git/trunk/foo


답변

일반 자식 리포지토리 :

기록을 사용하여 리포지토리를 복제하지 않고 파일을 다운로드하려면이 작업을 수행 할 수 있습니다 git-archive.

git-archivegit 저장소의 압축 된 zip 또는 tar 아카이브를 만듭니다. 그것을 특별하게 만드는 것들 :

  1. git 저장소에서 아카이브 할 파일 또는 디렉토리를 선택할 수 있습니다.
  2. .git/폴더 또는 폴더가 실행되는 저장소에 추적 되지 않은 파일 이나 폴더를 보관하지 않습니다 .
  3. 특정 브랜치, 태그 또는 커밋을 보관할 수 있습니다. git으로 관리되는 프로젝트는 종종 이것을 사용하여 사용자가 다운로드 할 수있는 프로젝트 버전 (베타, 릴리스, 2.0 등)의 아카이브를 생성합니다.

docs/usagessh와 연결된 원격 저장소에서 디렉토리 의 아카이브를 작성하는 예 :

# in terminal
$ git archive --format tar --remote ssh://server.org/path/to/git HEAD docs/usage > /tmp/usage_docs.tar

이 블로그 게시물git 문서에 대한 추가 정보 .

GitHub Repos에 대한 참고 사항 :

GitHub는 git-archive액세스를 허용하지 않습니다 . ☹️


답변

GitHubFolderDownloader 라는 오픈 소스 프로젝트를 만들었습니다 . 전체 리포지토리를 복제하거나 다운로드하지 않고도 리포지토리의 단일 폴더를 다운로드 할 수 있습니다.


답변

다른 답변에는 아무런 문제가 없지만 처음 으로이 과정을 방황하는 사람들을 위해 단계별 지침을 공유한다고 생각했습니다.

github 저장소에서 단일 폴더를 다운로드하는 방법 (Mac OS X) :

~ 터미널을 열려면 스포트라이트를 클릭하고 터미널을 입력 한 다음 Enter 키를 누르십시오.

  1. Mac에서는 이미 SVN이있을 수 있습니다 (단지 열린 터미널을 테스트하고 “svn” 또는 “which svn” ~ 따옴표없이 입력).
  2. Github에서 : 리포지토리 내 특정 폴더 이름을 클릭하여 리포지토리가 아닌 git 폴더의 Github 경로를 찾으십시오.
  3. 브라우저의 주소 표시 줄에서 경로를 복사하십시오.
  4. 터미널을 열고 다음 을 입력하십시오. svn export
  5. 다음 주소에 붙여 넣기 (예 :
    https://github.com/mingsai/Sample-Code/tree/master/HeadsUpUI
  6. 단어를 교체하십시오 : tree / master
  7. 단어와 함께 : 트렁크
  8. 파일의 대상 폴더를 입력하십시오 (이 예에서는 대상 폴더를 현재 사용자의 다운로드 폴더 안에 저장합니다)
  9. 여기서 space는 단어가 아닌 스페이스 바입니다 (space) ~ / Downloads / HeadsUpUI
  10. 마지막 터미널 명령은 폴더를 다운로드하는 전체 명령을 보여줍니다 (5 단계와 주소 비교) svn export
    https://github.com/mingsai/Sample-Code/trunk/HeadsUpUI
    ~ / Downloads / HeadsUpUI

BTW-Windows 또는 다른 플랫폼에있는 경우 http://subversion.apache.org 에서 subversion (svn)의 바이너리 다운로드를 찾을 수 있습니다 .

~ 단순히 다운로드하는 대신 폴더를 체크 아웃하려면 svn help를 사용하십시오 (tldr : exportcheckout 대체 )

최신 정보

중단 된 다운로드 / 체크 아웃 재개에 대한 의견과 관련하여. 나는 실행하려고 할 것이다 svn cleanup다음 svn update. 추가 옵션을 보려면 SO를 검색하십시오.