Git subtree 이용하기.

git 2018. 1. 3. 08:48

프로젝트 진행시 타 프로젝트의 repository를 참조해야 할때 git subtree를 통해서 해결한 경험을 공유해 보려한다.


A프로젝트를 진행하는데 B프로젝트의 GRPC서버와 연동을 위해서 proto 파일을 참조해야 하는 경우가 발생했다. 

처음에 proto 파일을 jar로 묶어 저장소에 저장하고, maven을 이용해 참조해서 사용하려고 했다.

그런데 jar로 묶여진 proto파일을 compile하는 방법을 발견하지 못했다.

그리고 proto가 업데이트 될때마다,

B프로젝트 담당자는 jar를 묶어 저장소에 올리고, 나는 pom.xml을 매번 수정해서 다시 업데이트 해야 하는 불편이 발생했다.

그래서 git subtree를 이용해서 proto파일은 A프로젝트의 하위 모듈로 가져오기로 했다.


아래와 같은 git 저장소

 merge전

merge후 

prjA

  |---dir1


prjB

  |---proto1 

 prjA

  |---dir1

  |---prjB

          |---proto1




###일단 prjA에서 prjB의 remote 저장소를 생성한다.

> cd proA

> git remote add prjB_repo http://github.com/prjB.git


###subtree 명령어를 통해서 subtree를 구성하면 끝!!

> git subtree add --prefix=prjB prjB_repo master



다른 저장소의 소스를 참조해야 할때 subtree를 사용하면 쉽게 해결이 가능하다.

'git' 카테고리의 다른 글

Git remote 저장소 변경  (0) 2018.01.12
Posted by 무세1
,