GitNotes.39-1.md
본 문서는 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)

반응형

+ Recent posts