Git Archive로 저장소 파일 내보내기 가이드
AI Store에서 AI코딩으로 만들어진 앱을 만나보세요!
지금 바로 방문하기

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 옵션을 통해 다양한 형식과 파일명 지정 가능