Git Bundle 사용법: 오프라인 환경에서 저장소 공유 및 백업 방법
카테고리
프로그래밍/소프트웨어 개발
서브카테고리
개발 툴
대상자
- 오프라인 환경에서 저장소를 공유하거나 백업해야 하는 개발자
- Git의 고급 기능을 활용한 프로젝트 관리에 관심 있는 중급 이상 개발자
핵심 요약
git bundle
은 커밋, 브랜치, 태그를 하나의 파일로 압축하여 오프라인에서 저장소를 공유/복구할 수 있음git bundle create
명령어로 특정 커밋 범위를 선택하여 파일 생성 가능 (예:git bundle create recent-changes.bundle HEAD~5..HEAD
)git clone
및git fetch
명령어로 .bundle 파일에서 내용 추출/적용 가능 (예:git fetch updates.bundle feature-branch:feature-branch
)
섹션별 세부 요약
1. Git Bundle의 주요 용도
- 제한된 환경(예: 보안 랩)에서 인터넷 없이 코드 공유 가능
- 백업 및 패치 배포에 활용 가능
- 대규모 변경사항을 여러 패치 파일 대신 단일 파일로 전송 가능
2. 저장소 압축 방법
- 전체 브랜치 압축:
git bundle create repo.bundle master
- 최근 5개 커밋만 압축:
git bundle create recent-changes.bundle HEAD~5..HEAD
- 특정 태그 간 범위 압축:
git bundle create small-bundle.bundle v1.0..v2.0
3. .bundle 파일 사용 방법
- 클론:
git clone repo.bundle -b master my-project
- 업데이트 적용:
git fetch updates.bundle feature-branch:feature-branch
- 내용 확인:
git bundle verify repo.bundle
4. 효율적인 사용 팁
- 대규모 저장소는 커밋 범위 지정으로 파일 크기 줄이기
- 버전별 태그 생성 후 release.bundle 파일로 관리 (예:
git tag v2.0
) - 파일만 필요할 경우:
git archive --format=zip -o snapshot.zip HEAD
결론
git bundle
은 오프라인 공유, 백업, 패치 배포에 유리한 도구로, 커밋 범위 지정과 태그 관리를 통해 효율성 극대화 가능git fetch
및git clone
명령어를 통해 .bundle 파일의 활용성을 극대화할 것