Git Archive를 활용한 저장소 파일 내보내기 가이드
카테고리
프로그래밍/소프트웨어 개발
서브카테고리
개발 툴
대상자
- 개발자 및 DevOps 엔지니어에게 유용
- 중간 난이도 (Git 기본 지식 필요)
핵심 요약
git archive
명령어는.git
디렉터리 없이 저장소 파일을 압축하여 내보내는 데 사용됨- 주요 사용 사례는 배포, 코드 공유, 백업 등
- 예시 명령어
- git archive --format=zip --output=repo-export.zip HEAD
- git archive --format=tar.gz --output=main-branch.tar.gz main
섹션별 세부 요약
1. 기본 구문
git archive
의 기본 형식:git archive --format=<형식> --output=<파일명> <브랜치/커밋>
- 지원되는 형식:
zip
,tar
,tar.gz
--list
옵션으로 지원되는 형식 확인 가능
2. 일반 사용 사례
- 최신 커밋 내보내기:
git archive --format=zip --output=repo-export.zip HEAD
- 특정 브랜치 내보내기:
git archive --format=tar.gz --output=main-branch.tar.gz main
- 특정 커밋 또는 태그 내보내기:
git archive --format=zip --output=v1.0.0.zip v1.0.0
- 서브디렉터리만 내보내기:
git archive --format=zip --output=src-files.zip HEAD:src/
3. 고급 기술
- 서버에 직접 배포:
git archive --format=tar.gz --output=deploy.tar.gz main | ssh user@server "tar -xzf - -C /var/www/html"
- 변경된 파일만 내보내기:
```bash
git diff --name-only commit1 commit2 | xargs git archive -o changes.zip HEAD
```
- 자동 내보내기:
post-commit
훅으로git archive --format=zip --output=latest-commit.zip HEAD
사용
4. 주의사항
- 추적되지 않은 파일 포함:
git stash
또는 수동 추가 필요 - 특정 커밋의 스냅샷 내보내기:
git archive --format=tar.gz --output=backup-2023-10-01.tar.gz abc1234
결론
git archive
는.git
디렉터리 없이 청소된 파일 스냅샷 생성에 이상적- 자동화 스크립트와 결합하여 배포 프로세스를 효율화
- --format 및 --output 옵션을 통해 다양한 형식과 파일명 지정 가능