소스 코드 보관 개요
GitHub에서 분기, 태그 또는 특정 커밋의 스냅샷을 다운로드할 수 있습니다. 이러한 스냅샷은 tarball 또는 zipball의 두 가지 형식 중 하나로 git archive
명령에 의해 생성됩니다. 스냅샷에는 전체 리포지토리 기록이 포함되지 않습니다. 전체 기록을 원하는 경우 리포지토리를 복제할 수 있습니다. 자세한 내용은 "리포지토리 복제"을(를) 참조하세요.
소스 코드 보관 파일 다운로드
소스 코드 보관 파일은 세 가지 방법으로 다운로드할 수 있습니다.
리포지토리 보기에서 소스 코드 보관 파일 다운로드
-
GitHub에서 리포지토리의 기본 페이지로 이동합니다.
-
파일 목록 위에서 코드를 클릭합니다.
-
ZIP 다운로드를 클릭합니다.
릴리스에서 소스 코드 보관 파일 다운로드
-
GitHub에서 리포지토리의 기본 페이지로 이동합니다.
-
파일 목록의 오른쪽에서 릴리스를 클릭합니다.
-
릴리스의 "자산" 섹션까지 아래로 스크롤합니다.
-
소스 코드를 다운로드하려면 소스 코드(zip) 또는 소스 코드(tar.gz) 를 클릭합니다.
태그에서 소스 코드 보관 파일 다운로드
-
GitHub에서 리포지토리의 기본 페이지로 이동합니다.
-
파일 목록의 오른쪽에서 릴리스를 클릭합니다.
-
릴리스 페이지의 상단에서 태그를 클릭합니다.
-
소스 코드를 다운로드하려면 zip 또는 tar.gz를 클릭합니다.
소스 코드 보관 URL
소스 코드 보관 파일은 각 리포지토리의 특정 URL에서 사용할 수 있습니다. 예를 들어 리포지토리 github/codeql
을 고려합니다. 분기, 태그 또는 특정 커밋 ID를 다운로드하기 위한 URL이 다릅니다.
Note
참고: 위의 URL 중 .zip
또는 .tar.gz
를 사용하여 zipball 또는 tarball을 각각 요청할 수 있습니다.
소스 코드 보관의 안정성
소스 코드 보관 파일은 요청에 따라 생성되고 잠시 동안 캐시된 다음 삭제됩니다. 나중에 동일한 보관이 다시 요청되면 다시 생성됩니다. 소스 코드 보관에 대한 GitHub이(가) 보증하는 것을 이해하는 것이 중요합니다.
- 커밋 ID가 여전히 리포지토리에 있고 리포지토리의 이름이 변경되지 않았다고 가정하면 커밋 ID 보관 파일은 요청될 때마다 항상 동일한 파일 콘텐츠를 갖습니다.
- 분기 및 태그가 다른 커밋 ID로 이동할 수 있으므로 보관 파일의 향후 다운로드에는 동일한 분기 또는 태그를 이전에 다운로드한 보관 파일과 다른 내용이 있을 수 있습니다. 분기 또는 태그가 여전히 동일한 커밋 ID 가리키고 있다고 가정하면 파일 내용은 동일합니다.
- zipball 또는 tarball을 생성하는 데 사용되는 정확한 단축 설정은 시간이 지남에 따라 변경될 수 있습니다. 분기 또는 태그가 변경되지 않으면 추출된 내용이 변경되지 않지만 외부 단축된 보관 파일의 바이트 레이아웃은 다를 수 있습니다. GitHub은(는) 단축 설정을 변경하기 전 최소 6개월 전에 알림을 제공합니다.
- 리포지토리의 이름은 보관 파일 내의 디렉터리 구조에 속합니다. 따라서 리포지토리 이름이 변경되면 루트 디렉터리 이름도 변경됩니다.
재현성을 위해 소스 코드 보관 파일의 안정성을 사용하는 경우(보관 파일 내에서 항상 동일한 파일을 가져올 수 있음) 보관 REST API를 :ref
의 커밋 ID와 함께 사용하는 것이 좋습니다. 커밋 ID를 사용하면 보관 파일 내에서 항상 동일한 파일 콘텐츠를 얻을 수 있으며, 리포지토리에서 태그를 다시 쓰거나 분기 헤드를 이동할 수 있습니다.
보안을 위해 보관 파일의 안정성을 사용하는 경우(예: 악의적으로 생성된 파일의 압축을 풀지 않기 위해) 원본 다운로드를 사용하는 대신 릴리스를 사용하는 것이 좋습니다. 자세한 내용은 "릴리스 정보"을(를) 참조하세요.
이 제3자 GitHub 작업과 같은 작업을 사용하여 릴리스 프로세스의 일부로 이러한 파일을 만들고 푸시할 수 있습니다. 릴리스 자산 REST API는 나중에 이를 검색하는 데 사용할 수 있습니다.