본문 바로가기
협업툴,가상환경 정리/Git관련

Git bundle 개념 및 사용

by 알 수 없는 사용자 2023. 7. 11.

인터넷이 안되는 상황이나

배포버전으로 push나 pull을 못해야 하는 .git 이여야 할 때 유용하게 쓰인다.

간이 저장소 == git bundle 이라고 생각하면 된다.

 

 

결정적으로 "$ git remote -v" 라고 확인해보면, 

보통 깃이라면

$ git remote -v
origin  https://source.회사명.co.kr:8000/aa_dir/Project_1.git (fetch)
origin  https://source.회사명.co.kr:8000/aa_dir/Project_1.git (push)

<- 이렇게 url이 뜨지만

 

$ git remote -v
origin  /home/liam/tmp/repo.bundle (fetch)
origin  /home/liam/tmp/repo.bundle (push)

<- 이렇게 디렉터리 주소로 나옴

 

쉽게 생각해서 배포 버전인 깃 번들에서는 pull도 Push도 없는게 맞음. ( 필요한  commit 부분만 지정해서 배포도 가능함. )

 

사용법

 

1. 번들 생성 ( tip> HEAD 를 포함시 타겟 Branch이 참조하는 커밋이 번들에 포함됨. )

git bundle create repo.bundle HEAD main

git bundle create [번들명] HEAD [브런치명]

 

2. 번들 압축해제 ( 클론 )

git clone repo.bundle

git clone [번들명]

 

 

----------------------> 추가

번들에서 코드 수정 후, commit 도 하고 여러 작업을 하고 나면 2가지 선택지가 있음.

1. 번들로 만들어서 계속 현행화를 할지.

2. 깃 url 레포지토리로 업데이트(push)를 할지

 

1번의 경우는

 - git bundle create [번들명] HEAD [브런치명] 로 다시 번들로 만들어서 릴리즈(공유)하면 된다.

 

2번의 경우는

 - $ git remote -v 로 한번 확인 후

 - $ git remote set-url origin https://source.회사명.co.kr:8000/aa_dir/Project_1.git     <- 로 깃주소 수정 

 - $ git remote -v 로 바뀐 주소 확인 후,

 - $ git log --oneline 로 커밋 확인 하고 $ git push origin [브랜치명] 하면 된다.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

댓글