2018. 9. 19. 22:48ㆍ인프라/AWS
MacOS 환경에서 진행하였습니다.
이전 글들에서 ubuntu 환경에서 svn을 설치하는 방법과 이클립스와의 연동을 설명하였습니다. 이제는 svn 사용 방법 혹은 전략 설명입니다.
진행하기 앞서 용어 설명을 하자면,
1)trunk : 기둥이 되는 저장소(폴더)입니다. 즉, 나무로 따지자면 기둥이 되는 것입니다. 이것을 형상관리로 얘기하자면 첫 소스를 svn에 import할때, trunk에 업로드합니다. 그 이후에 나무의 기둥이되는 trunk에서 가지를 뽑아 수정을 하게되는 것이 braches라는 개념(하나의 프로젝트에서 수정되는 부분만 뽑는 것이 branche)입니다. branches들을 수정하였다면 이 수정된 소스를 merge하는 저장소가 trunk입니다. 모든 수정이 commit되면 최종이 되는 녀석이 trunk라는 기둥(저장소)이 되는 것입니다.
2)branches : trunk에서 수정이 되는 부분을 뽑아 내는 것이 branches입니다. 나무로 비유하면 가지가 되는 녀석입니다. trunk에서 branches들을 뽑아내어 수정을 완료하면 다시 trunk에 merge를 하게됩니다. 즉, trunk는 저장소에서 하나이지만 branches는 여러개가 될수 있습니다.(여러사람이 각자의 맡은 부분을 가지로 떼어내어 수정을 하기에)
3)tags : 쉽게 제품과 비교하면 맥북이 15년도 제품을 릴리즈하고, 그 다음 16년 제품을 릴리즈, 17년, 18년 제품들을 꾸준히 릴리즈합니다. 이 릴리즈되는 버전들을 하위버전에서 완전히 벗어나는 녀석들이 아닌 수정 및 보완, 혹은 기능추가 정도이겠죠. 즉, tags들이란 버전별로 릴리즈 할때 마다 하나씩 생기는 겁니다. 각 tag들은 branches를 가지지 않습니다. 즉 수정되는 애가 아니라는 뜻입니다. 왜 릴리즈하는 애들을 저장하냐? 만약 17년 버전 이후에 18년 버전이 나왔는데, 18년 버전들이 전량 다 불량이라면? 우선은 아무런 사용에 문제가 없는 17년 버전을 다시 내놓겠죠?(조금 억지...) 이런 개념입니다. 새로운 소프트웨어를 릴리즈했지만 버그 및 오류가 너무 심할 경우 이전버전을 다시 배포하여 우선 운영할 수 있는 환경을 갖을 수 있게 되는 겁니다.
<trunk, branches, tags 생성 방법>
생성과정은 svn이 올라가 있는 서버에서 직접생성한다는 가정입니다.
'인프라 > AWS' 카테고리의 다른 글
이클립스 svn 연동 (0) | 2018.09.07 |
---|---|
aws(아마존) ec2-ubuntu svn 설치 (0) | 2018.09.06 |
맥에서 아마존 ec2(ubuntu) ssh 접속방법 (0) | 2018.09.05 |