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 치트 시트
솔루션 보기
Bitbucket Cloud에서 Git에 대해 알아보기
이어지는 예시에서는 새 보관 파일을 만들어 exmaple_repo_archive.tar
파일에 저장합니다. 앞의 예시에서는 둘 다 압축되지 않은 보관 출력을 만들었습니다. 이는 --format=tar
옵션으로 표시됩니다. 형식 옵션은 널리 사용되는 압축 파일 형식인 zip
및 tar.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에 대한 지속적인 업데이트를 확인하세요.