본 문서는 Git Notes for Professionals (라이센스:CC-BY-SA) 를 한글로 번역한 문서입니다. 번역상 오류가 있을 수 있으므로 정확한 내용은 원본 문서를 참고하세요.
Section 39.1: 로컬 머신에서 git bundle 을 생성한 후 다른 곳에서 사용하기
가끔씩은 네트웍 연결이 되지 않는 환경에서 git 을 이용한 버전 관리를 계속해서 유지하고자 하는 경우가 있을 수 있다.
Bundle 을 이용하면 이러한 머신에서의 git 객체와 reference 들을 하나의 단위로 만든 (package) 후 이를 다른 머신의 저장소에서 불러오기 (import) 하는 등의 작업을 가능하게 한다.
git tag 2016_07_24
git bundle create changes_between_tags.bundle [특정 tag 이름]..2016_07_24
위 예제에서 생성한 changes_between_tags.bundle 파일을 원격 환경으로 가능한 방법을 통해 전송하도록 한다. (예: USB 드라이브를 통한 파일 복사 등)
git bundle verify changes_between_tags.bundle # bundle 파일이 완전히 복사 완료된 상태여야 한다
git checkout [특정 branch] # 원격 머신에서의 저장소에서 수행한다
git bundle list-heads changes_between_tags.bundle # bundle 내에 존재하는 reference 들의 목록을 확인한다
git pull changes_between_tags.bundle [bundle 에 존재하는 reference, 예: 바로 직전 명령어 출력 결과 중 가장 마지막 항목]
위에서 작업한 내용의 반대 작업도 얼마든지 가능하다. 원격 저장소에서 변경사항이 발생한 경우, 해당 변경사항들의 내용을 bundle 로 만들어 마찬가지로 USB 드라이브 등을 이용하여 로컬 저장소에 다시 merge 시킬 수 있다. 이러한 방식을 통해 두 머신 사이에 직접적인 git 연결이나 ssh, rsync, 혹은 http 프로토콜의 도움 없이도 저장소 사이에 동기화를 유지시킬 수 있다.
[출처] https://books.goalkicker.com/GitBook/ (CC BY-SA)
반응형
'번역 > Git Notes for Professionals' 카테고리의 다른 글
40.2: 두 커밋 사이의 모든 커밋들을 출력하기 (gitk 이용) (0) | 2020.02.13 |
---|---|
40.1: 특정 파일에 대한 커밋 history 를 확인하기 (gitk 이용) (0) | 2020.02.13 |
38.1: Merge conflict 수동 해결하기 (0) | 2020.02.10 |
37.1: git show 개요 (0) | 2020.02.10 |
36.5: svn2git 을 이용하여 SVN 에서 Git 으로 이주(migrate) 하기 (0) | 2020.02.07 |