Subversion/SVN 설정시 branches, tags, trunk 에 대한 개념
 

trunk
- 기본적으로 개발을 시작할 때 사용하는 디렉토리(소스의 주 개발 작업을 진행하는 폴더)
- 모든 프로그램 개발 작업은 trunk 디렉토리에서 부터 시작
- main, mainline, production의 의미로 사용됨

 

branches
- trunk 에서 뻗어져 나온 나뭇가지(소스의 실험적인 작업을 진행하는 폴더, 소스의 현재 버전을 유지보수 하고, 현재 버전을 기반으로 차기 버전을 개발할 경우 이 폴더 이용)
- trunk 디렉토리에서 프로그램을 개발하다보면 큰 프로젝트에서 또 다른 작은 분류로 빼서 개발하는 경우.
- 프로젝트 안의 작은 프로젝트
- release 버전과 유지보수 버전을 분리하고 싶을 때 사용
- customizing이나 hot fix 목적으로 분리하여 수정함
- 수정이 계속해서 발생하다가 궁극적으로는 trunk에 merge 되는 것이 일반적임

 

tags
- 꼬리표의 개념.
- 현재 릴리즈된 소스를 관리하기 쉽게 따로 보관하는데 사용. 즉, 개발을 위한 것이 아니라 보관을 위한 것이기 때문에 export만 해야 한다. 체크아웃하여 커밋 할 경우 경고 메시지가 출력된다.
- 프로그램을 개발하면서 정기적으로 릴리즈 할 때 0.1, 0.2, 1.0 식의 버전의 소스를 따로 저장하는 공간
- 한번 만들면 수정하지 않음
- releases, snapshots, baselines의 의미로 사용됨



출처 - 
http://jinsepi.blog.me/100119372539 





- branches 
 : 소스의 실험적인 작업을 진행하는 폴더,
   소스의 현재 버전을 유지보수 하고, 현재 버전을 기반으로 차기 버전을 개발할 경우 이 폴더를 이용

- trunk
 : 소스의 주 개발 작업을 진행하는 폴더

- tags
 : 현재 릴리즈된 소스를 관리하기 쉽게 따로 보관하는데 사용.
   즉, 개발을 위한 것이 아니라 보관을 위한 것이기 때문에 export만 가능하다.
   체크아웃하여 커밋할 경우 경고 메시지가 출력된다.



출처 - http://blog.naver.com/ziugae80?Redirect=Log&logNo=88242569






Posted by linuxism
,