Skip to main content
설명서에 자주 업데이트를 게시하며 이 페이지의 번역이 계속 진행 중일 수 있습니다. 최신 정보는 영어 설명서를 참조하세요.

소스 코드 보관 파일 다운로드

리포지토리에서 코드의 스냅샷 다운로드할 수 있습니다.

소스 코드 보관 개요

GitHub.com에서 분기, 태그 또는 특정 커밋의 스냅샷 다운로드할 수 있습니다. 이러한 스냅샷은 tarball 또는 zipball의 두 가지 형식 중 하나로 명령에 의해 git archive 생성됩니다. 스냅샷에는 전체 리포지토리 기록이 포함되지 않습니다. 전체 기록을 원하는 경우 리포지토리를 복제할 수 있습니다. 자세한 내용은 "리포지토리 복제"을 참조하세요.

소스 코드 보관 파일 다운로드

소스 코드 보관 파일은 세 가지 방법으로 다운로드할 수 있습니다.

리포지토리 뷰에서 소스 코드 보관 파일 다운로드

  1. GitHub.com에서 리포지토리의 기본 페이지로 이동합니다.

  2. 파일 목록 위에서 코드를 클릭합니다.

    리포지토리의 방문 페이지에 있는 파일 목록의 스크린샷 "코드" 단추는 진한 주황색 윤곽선으로 강조 표시됩니다.

  3. ZIP 다운로드를 클릭합니다.

릴리스에서 소스 코드 보관 파일 다운로드

  1. GitHub.com에서 리포지토리의 기본 페이지로 이동합니다. 1. 파일 목록의 오른쪽에서 릴리스를 클릭합니다.

    리포지토리의 기본 페이지 스크린샷 "릴리스"라는 레이블이 지정된 링크가 주황색 윤곽선으로 강조 표시됩니다.

  2. 릴리스의 "자산" 섹션까지 아래로 스크롤합니다.

  3. 소스 코드를 다운로드하려면 소스 코드(zip) 또는 소스 코드(tar.gz) 를 클릭합니다.

태그에서 소스 코드 보관 파일 다운로드

  1. GitHub.com에서 리포지토리의 기본 페이지로 이동합니다. 1. 파일 목록의 오른쪽에서 릴리스를 클릭합니다.

    리포지토리의 기본 페이지 스크린샷 "릴리스"라는 레이블이 지정된 링크가 주황색 윤곽선으로 강조 표시됩니다.

  2. 릴리스 페이지의 상단에서 태그를 클릭합니다.

  3. 소스 코드를 다운로드하려면 zip 또는 tar.gz를 클릭합니다.

    리포지토리의 "태그" 페이지 스크린샷 zip 및 tar.gz 옵션은 진한 주황색으로 간략하게 표시됩니다.

소스 코드 보관 URL

소스 코드 보관 파일은 각 리포지토리에 대한 특정 URL에서 사용할 수 있습니다. 예를 들어 리포지 github/codeql토리를 고려합니다. 분기, 태그 또는 특정 커밋 ID 다운로드하기 위한 URL이 다릅니다.

보관 유형예제URL
Branchmainhttps://github.com/github/codeql/archive/refs/heads/기본.tar.gz
태그codeql-cli/v2.12.0https://github.com/github/codeql/archive/refs/tags/codeql-cli/v2.12.0.zip
Commitaef66c4https://github.com/github/codeql/archive/aef66c462abe817e33aad91d97aa782a1e2ad2c7.zip

참고: 위의 URL에서 또는 .tar.gz 를 사용하여 .zip 각각 zipball 또는 tarball을 요청할 수 있습니다.

소스 코드 보관의 안정성

소스 코드 보관 파일은 요청에 따라 생성되고 잠시 동안 캐시된 다음 삭제됩니다. 나중에 동일한 보관 파일이 다시 요청되면 다시 생성됩니다. GitHub이 소스 코드 보관에 대해 어떤 보장을 하는지 이해하는 것이 중요합니다.

  • 커밋 ID 여전히 리포지토리에 있고 리포지토리의 이름이 변경되지 않았다고 가정하면 커밋 ID 보관 파일은 요청될 때마다 항상 동일한 파일 콘텐츠를 갖습니다.
  • 분기와 태그가 다른 커밋 ID로 이동할 수 있으므로 향후 보관 파일 다운로드는 동일한 분기 또는 태그의 이전에 다운로드한 보관 파일과 다른 콘텐츠를 가질 수 있습니다. 분기 또는 태그가 여전히 동일한 커밋 ID 가리키면 동일한 파일 내용이 있습니다.
  • 지퍼볼 또는 tarball을 생성하는 데 사용되는 정확한 압축 설정은 시간이 지남에 따라 변경 될 수 있습니다. 분기 또는 태그가 변경되지 않으면 추출된 콘텐츠가 변경되지 않지만 외부 압축된 보관 파일의 바이트 레이아웃이 다를 수 있습니다. GitHub은(는) 압축 설정을 변경하기 전에 최소 6개월 전에 알림을 제공합니다.
  • 리포지토리의 이름은 보관 파일 내의 디렉터리 구조에 속합니다. 따라서 리포지토리 이름이 변경되면 루트 디렉터리 이름도 변경됩니다.

재현성을 위해 소스 코드 보관의 안정성을 사용하는 경우(항상 보관 파일 내에서 동일한 파일을 가져올 수 있음) 에 대한 :ref커밋 ID 함께 보관 REST API를 사용하는 것이 좋습니다. 커밋 ID 사용하면 항상 보관 파일 내에 동일한 파일 콘텐츠를 가져올 수 있으며, 태그를 다시 쓰거나 분기 헤드를 이동하는 리포지토리에 영향을 받지 않습니다.

보안을 위해 보관 파일의 안정성을 사용하는 경우(예: 악의적으로 생성된 파일의 압축을 풀지 않도록 하기 위해) 원본 다운로드를 사용하는 대신 릴리스를 사용하는 것이 좋습니다. 자세한 내용은 "릴리스 정보"을 참조하세요.

이 타사 GitHub 작업과 같은 작업을 사용하여 릴리스 프로세스의 일부로 이러한 파일을 만들고 푸시할 수 있습니다. 릴리스 자산 REST API는 나중에 이를 검색하는 데 사용할 수 있습니다.