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