Close

Git Archive: Git 프로젝트를 내보내는 방법

때로는 Git 리포지토리의 보관 파일을 만드는 것이 유용할 수 있습니다. 보관 파일은 여러 파일을 하나의 파일로 결합합니다. 그런 다음 보관 파일을 추출하여 개별 파일을 재현할 수 있습니다. Git은 기록을 보존하고 팀 공동 작업을 유지하는 데 매우 효과적이지만 보관 파일은 Git 메타데이터의 오버헤드를 제거하고 다른 사용자에게 배포하거나 장기적인 콜드 스토리지에 보존하는 것이 더 간단할 수 있습니다.


git archive는 어떤 작업을 수행합니까?


git archive 명령은 커밋, 브랜치 또는 트리와 같이 지정된 Git 참조에서 보관 파일을 만드는 Git 명령줄 유틸리티입니다. git archive는 보관 출력을 변경하는 추가 인수를 허용합니다.

Git 내보내기 예시


가장 기본적인 ~git archive~ 예시는 다음과 같습니다

git archive --format=tar HEAD

이 명령을 실행하면 리포지토리의 현재 HEAD 참조에서 보관 파일이 만들어집니다. 기본적으로 git archive는 보관 출력을 임시 stdout 스트림으로 스트리밍합니다. 이 출력 스트림을 영구 파일에 캡처해야 합니다. git archive 출력 옵션을 사용하거나 운영 체제의 stdout 리디렉션을 사용하여 영구 파일을 지정할 수 있습니다.

git archive --output=./example_repo_archive.tar --format=tar HEAD
Git 로고
관련 자료

Git 치트 시트

Bitbucket 로고
솔루션 보기

Bitbucket Cloud에서 Git에 대해 알아보기

이어지는 예시에서는 새 보관 파일을 만들어 exmaple_repo_archive.tar 파일에 저장합니다. 앞의 예시에서는 둘 다 압축되지 않은 보관 출력을 만들었습니다. 이는 --format=tar 옵션으로 표시됩니다. 형식 옵션은 널리 사용되는 압축 파일 형식인 ziptar.gz도 허용합니다. 이러한 형식 옵션 중 하나를 전달하면 압축된 보관 파일이 생성됩니다. 형식 값이 전달되지 않으면 전달된 --output 옵션에서 추론됩니다.

git archive --output=./example_repo_archive.tar.gz --format=tar HEAD ./build

경로 인수를 전달하여 리포지토리의 부분적 보관 파일을 만들 수 있습니다. 이 예시에서는 ./build 경로 인수를 archive 명령에 추가합니다. 이 명령은 ./build 디렉터리에 저장된 파일만 포함하는 보관 파일을 출력합니다

옵션


앞의 예시에서는 가장 자주 사용되는 git-archive 사용 사례를 보여줬습니다. 다음은 git-archive에 전달할 수 있는 확장 옵션입니다.

--prefix=<prefix>/

접두사 옵션은 보관 파일의 각 파일 경로를 앞에 추가합니다. 이것은 보관 파일의 콘텐츠가 고유한 네임스페이스에서 추출되도록 하는 데 도움이 될 수 있습니다.

--remote=<repo>

원격 옵션에는 원격 리포지토리 URL이 필요합니다. 원격 옵션으로 git-archive를 호출하면 원격 리포지토리를 가져와서 원격에서 사용할 수 있는 경우 지정된 참조에서 보관 파일을 만듭니다.

구성


~git archive~가 따르는 몇 가지 전역 Git 구성 값이 있습니다. 이 값은 git config 유틸리티를 사용하여 설정할 수 있습니다.

tar.umask

마스크 해제 구성 옵션은 출력 보관 파일에 Unix 수준 권한 비트 제한을 지정하는 데 사용됩니다.

tar.<format>.command

이 구성 옵션을 사용하면 git-archive 출력이 실행되는 사용자 지정 셸 명령을 지정할 수 있습니다. --output 옵션을 생략하고 ~git archive~에서 stdout 스트림을 사용자 지정 도구로 파이핑하는 것과 비슷합니다. 그러면 고정된 사용자 지정 보관 파일의 사후 처리가 가능합니다.

tar.<format>.remote

사용 설정하면 원격 클라이언트가 format 유형의 보관 파일을 가져올 수 있습니다.

Git Archive 요약

Git archive는 Git 리포지토리의 배포 가능한 패키지를 만드는 데 유용한 유틸리티입니다. Git archive는 리포지토리의 특정 참조를 대상으로 하여 해당 참조의 콘텐츠만 패키징할 수 있습니다. Git archive에는 추가 압축을 활용할 수 있는 출력 형식이 여러 개 있습니다.


이 문서 공유
다음 토픽

여러분께 도움을 드릴 자료를 추천합니다.

이러한 리소스에 책갈피를 지정하여 DevOps 팀의 유형에 대해 알아보거나 Atlassian에서 DevOps에 대한 지속적인 업데이트를 확인하세요.

도구로 가득한 벽을 사용하여 협업하는 사람들

Bitbucket 블로그

DevOps 일러스트레이션

DevOps 학습 경로

Atlassian 전문가와 함께 하는 Demo Den 기능 데모

Bitbucket Cloud가 Atlassian Open DevOps와 작동하는 방법

DevOps 뉴스레터 신청

Thank you for signing up