티스토리 뷰



중앙집중식의 서브버전(Subversion)의 저장소(Repository)는 통상 위의 그림처럼 branches, tags, trunk라는 기본 폴더를 만들어 사용합니다. 주요 작업은 trunk에서 진행하기 때문에 프로젝트에 참여하는 사람들은 trunk를 체크아웃 받아 개발을 진행합니다. 그렇지만, 새로운 버전을 개발하거나 실험적 프로젝트를 진행할 경우에는 주요 작업 영역인 trunk는 손대지 않고 새로운 브랜치를 따서(Branching) 독립적으로 작업을 하다가 개발이 끝난 경우 trunk에 합치는 작업(Merge)을 수행하는 방식을 사용합니다. 또한, 특정 릴리즈를 보관할 경우에는 해당 시점의 코드에 태그를 붙여(Tagging) 저장해 놓았다가 해당 리비전이 필요할 경우에는 저장한 태그로 코드를 불러내서 빌드하거나 코드 수정 작업을 하기도 합니다.

깃(Git)의 경우에는 서브버전처럼 폴더를 나누지는 않습니다. master라는 기본(Default) 브랜치가 있는 상태에서 별도의 브랜치를 만들거나 태그를 붙이는 작업을 간편하게 수행할 수 있습니다. 위의 그림은 Rails 프로젝트의 브랜칭-병합 과정을 그래프로 확인한 것입니다.

브랜치 및 태그 만들기는 탐색기의 저장소를 우측 마우스로 클릭하여 컨텍스트 메뉴>토터스 깃>"브랜치 만들기" 또는 "꼬리표 달기" 메뉴를 사용합니다.

브랜치 만들기는 새롭게 생성할 브랜치의 이름을 입력한 다음 해당 브랜치의 첫 코드가 어디를 기준으로 할 지를 지정합니다. 현시점의 HEAD를 기준으로 할 수도 있고 특정 브랜치나 태그를 기준으로 할 수도 있습니다. 활발한 오픈소스 프로젝트를 내려 받았다면 HEAD는 항상 최신의 코드를 가져올 수 있도록(Pull) 손대지 말고 자신 만의 코드는 별도의 브랜치를 만들어서 작업하는 것이 좋습니다.

브랜치가 정상적으로 생성되었으면 위의 그림과 같이 브랜치 리스트에 새롭게 생성한 브랜치를 확인할 수 있습니다. 새 브랜치로 작업을 진행하려면 해당 브랜치를 체크 아웃 받아 작업을 시작해야 하는데 토터스깃 컨텍스트 메뉴의 "갈아타기/체크아웃"를 선택하고 원하는 브랜치를 선택하면 됩니다.

태그 만들기(꼬리표 달기)도 브랜치 만들기와 크게 다르지 않습니다. 태그 이름을 입력하고 브랜치 처럼 꼬리표 달 대상을 선택하면 됩니다. 되도록이면 작업중인것을 커밋한 다음 진행하는 것이 좋겠지요. 태그를 달고 파킹(Parking) 해놓으면 시간이 지나 해당 버전에 대한 피드백이 필요할 때 간편하게 꺼내어 쓰면 되니까 이런것이 VCS(Version Control System) 또는 소프트웨어 형상 관리(SCM : Software Configuration Management)를 사용하는 장점중에 하나가 아닐까 싶습니다.


댓글
댓글쓰기 폼