티스토리 뷰

728x90

깃(Git)이나 서브버전(Subversion, SVN)과 같은 형상 관리 도구를 사용하는 다양한 장점이 있지만 그중의 하나가 브랜치나 태그의 개념으로 소스 코드를 독립적으로 관리할 수 있다는 것이다. 예를 들어 서브버전을 형상 관리 도구로 사용하며 메인 프로그램을 1차로 완성할 때까지는 통상 Trunk에서 개발을 진행하며 리비전(Revision)을 쌓아간다. 프로그램의 1차 완성 이후에 발생하는 소소한 버그나 개선사항도 물론 Trunk에서 진행한다. 그런데, 조금 덩어리가 큰 기능을 추가하는 경우에는 Trunk에서 수행하는 소소한 수정과 덩어리가 큰 새로운 개발을 병행하기에는 무리가 있다. 이런 경우에는 브랜치(Branch)를 생성해서 기존 프로그램의 소소한 수정은 트렁크에서 계속 진행하고 새로운 개발은 브랜치에서 독립적으로 수행하면 무리 없는 소스코드 관리가 가능해진다. 새로운 개발을 완료하면 브랜치의 내용을 트렁크에 머지(Merge)한다.

 

 

위의 그림은 trunk에서 작업하던 코드를 별도의 브랜치로 분리해서 트렁크(r117)와 브랜치(r109)가 독립적으로 운용되고 있는 모습이다.

 

 

브랜치를 생성하기 이전에 필요한 것은 트렁크(trunk)에서 커밋(commit)을 완료하는 것이다. 커밋하지 않고 변경한 것이 남아 있는 상태라면 위의 그림과 같이 변경 사항들은 브랜치에 반영되지 않는다는 경고를 출력한다.

 

 

커밋을 완료한 트렁크의 작업 사본 폴더를 우측 마우스 버튼으로 클릭하여 콘텍스트 메뉴에서 TortoiseSVN> Branch/tag... 를 선택한다.

 

 

대화창에서 From에 트렁크 URL을 표시하고 있는지 확인하고 "To path"에 branches/새로운 브랜치 이름으로 입력한다. 우측의 [...] 버튼으로 branches를 선택하고 그 뒤에 새로운 브랜치 이름을 입력하면 된다. "Log message"에 브랜치 생성 이유를 기술하고 어떤 리비전에서 분기할지를 선택한다. 최종 리비전을 대상으로 하려면 "HEAD revision"을 선택한다. 하단에 추가 옵션을 선택할 수도 있지만 추가 옵션을 체크하지 않고 [OK] 버튼으로 브랜치를 생성한다.

 

 

브랜치에서 새로 개발을 시작하려면 위의 그림처럼 해당 브랜치를 새로운 폴더에 체크아웃받는  것으로 시작한다.

 

 

트렁크와 브랜치에서 각각 개발을 진행하여 커밋을 수행하면 위의 그림처럼 독립적으로 코드가 관리되고 있음을 확인할 수 있다.

 

 

728x90
댓글
최근에 올라온 글
최근에 달린 댓글
«   2026/01   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
글 보관함