"서브버전(Subversion) 브랜치 만들기"에 이어진 포스팅이다. 위의 그림처럼 메인 트렁크(Trunk)에서 분기하여 생성한 브랜치(Branch)와 트렁크가 각각 독립적으로 개발을 진행한 상태에서 브랜치에서 새롭게 개발한 기능을 메인 트렁크에 반영하고자 한다. 일단, 트렁크의 작업 사본 폴더로 이동하여 최종 상태로 SVN Update 하고 커밋하지 않은 변경 사항이 있다면 커밋을 수행하여 머지과정의 충돌(Conflict)을 최소화한다. 트렁크 작업 사본 폴더의 작업 준비를 마쳤으면 TortoiseSVN > Merge를 선택한다. 브랜치의 리비전을 지정해서 머지하는 방법도 있지만 트렁크 트리와 브랜치 트리와의 차이를 현재의 작업 사본에 반영하는 방식으로 수행한다. "Merge two differe..
깃(Git)이나 서브버전(Subversion, SVN)과 같은 형상 관리 도구를 사용하는 다양한 장점이 있지만 그중의 하나가 브랜치나 태그의 개념으로 소스 코드를 독립적으로 관리할 수 있다는 것이다. 예를 들어 서브버전을 형상 관리 도구로 사용하며 메인 프로그램을 1차로 완성할 때까지는 통상 Trunk에서 개발을 진행하며 리비전(Revision)을 쌓아간다. 프로그램의 1차 완성 이후에 발생하는 소소한 버그나 개선사항도 물론 Trunk에서 진행한다. 그런데, 조금 덩어리가 큰 기능을 추가하는 경우에는 Trunk에서 수행하는 소소한 수정과 덩어리가 큰 새로운 개발을 병행하기에는 무리가 있다. 이런 경우에는 브랜치(Branch)를 생성해서 기존 프로그램의 소소한 수정은 트렁크에서 계속 진행하고 새로운 개발은..