사용법은 git bundle --help
참고자료 http://progit.org/2010/03/10/bundles.html
간단히 사용법을 정리하면,
mybranch의 커밋들 중 master에 없는 것들을 ~/mybundle 파일로 저장.
$ git bundle create ~/mybundle master..mybranch
다른 저장소에서 저걸 가져오려면, 예의상 먼저
$ git bundle verify ~/mybundle
로 검사부터 해 주고.
가져오는 방법은 다양하게 할 수 있다.
이렇게 바로 git pull 할 수도 있지만...
$ git pull ~/mybundle
이렇게 fetch + cherry-pick 할 수도 있고...
$ git fetch ~/mybundle
$ git cherry-pick FETCH_HEAD
아니면 이렇게 fetch + rebase도 된다. (커밋이 여러개이고, 가져오는 저장소의 히스토리와 일렬로 늘어놓고 싶다면)
$ git fetch ~/mybundle
$ git rebase HEAD FETCH_HEAD
fetch 할때 브랜치 이름을 지정할 수도 있다.
$ git fetch ~/mybundle mybranch:mybranch_from_bundle
원격 저장소를 공유하지 않는 상태에서 이렇게 번들 파일을 주고 받으면서 공유할 수도 있고, 원격 저장소로의 push가 엄격히 제한이 되어 있어 push 하기는 곤란한 경우 다른 로컬 저장소에 적용해서 테스트 해 보려면 이렇게 번들을 쓰면 편하다. rebase, cherry-pick도 사용가능하니 여러 커밋들을 선택적으로 추출하거나 base가 달라 rebase를 해야 하는 경우 등에서도 patch file에 비해 훨씬 편하다.