티스토리 뷰

IT/KNOWLEDGE

SVN(SubVersion) 이란?

김보야 2016. 3. 29. 17:29

만약 혼자서 프로젝트를 진행하게 된다면 굳이 필요성을 느끼지 않을 수 있습니다. 

하지만 팀 단위로 여러 사람과 프로젝트를 진행하게 되면 필수가 됩니다.


내가 소스를 수정했다고 생각해보세요.

같은 프로젝트를 진행하는 옆의 동료한테 그 사실을 알려주어야합니다.

수정한 소스코드를 압축해서 메신저로 옆의 동료에게 복사해 주어야 할까요?

물론 그럴수도 있겠지만 상당히 비생산적인 흐름일 것입니다.


이런 상황에서의 문제를 푸는 방법이 소스관리툴을 사용하는 것입니다.

그 중에 널리 쓰이는 툴이 바로 SVN(SubVersion)입니다.

기본적인 개념설명을 위해 빈번히 쓰이는 명령어에 대해서 알아보겠습니다.


명령어는 Update, Commit 입니다.


 

A와 B는 한 팀입니다.


A가 소스를 수정한 후 B가 그 내용에 대해서 알기를 원합니다.

A가 수정된 소스나 폴더에 Commit이란 명령어를 내립니다.

A가 작업한 내용이 SVN서버의 저장소란 영역에 저장이 됩니다.

A가 B에게 소스가 수정되었다고 알려줍니다. 물론 구두로만요.


B는 본인이 가지고 있는 소스에다가 Update란 명령을 내려서 SVN서버로부터 최신 변경된 소스를 가져옵니다.

A가 수정한 내용이 B의 소스에 반영이 됩니다.


이런 시나리오로 프로젝트의 동기화가 이루어지게됩니다.



간단합니다. 내가 수정하고 나서 Commit, 최신소스로 갱신하고 싶으면 Update를 사용하면 됩니다.


  

출처 : 다무블로그 (http://raid79.tistory.com/)


 




 


Trunk

개발소스를 commit 했을 때 모이는 곳, 개발소스를 자유롭게 취합하고, 개발서버를 빌드하는데도 쓰인다

  - 단어 자체의 뜻은 본체, 본문 등입니다.

  - 프로젝트에서 가장 중심이 되는 디렉토리입니다.

  - 모든 프로그램의 개발 작업은 trunk 디렉토리에서 이루어 집니다.

  - trunk 디렉토리 바로 아래에는 소스들의 파일과 디렉토리가 들어가게됩니다.


Branch

특정 시점을 기점으로 trunk에서 분리/복사(논리적으로)한 소스로 버전별 배포판을 만들거나,

trunk와 별도로 운영환경을 위한 안정화된 소스를 관리할 목적으로 사용한다

  - trunk에서 뻗어져 나온 나무가지를 뜻합니다.

  - 프로그램을 개발하다 보면 trunk 디렉토리에서 또 다른 작은 분류로 빼서 따로 개발해야 할 경우가 있습니다.

    프로젝트안의 작은 프로젝트라고 생각하면 됩니다.

  - branches 디렉토리 안에 또 다른 디렉토리를 두어 그 안에서 개발하게 됩니다.


Tag

tag는 특정 시점의 상태를 보존하기 위한 목적으로 사용한다.

  - tag는 꼬리표입니다.

  - 이 디렉토리는 프로그램을 개발하면서 정기적으로 릴리즈 할 때, 0.1 / 0.2 / 1.0 등 이런식의 버전 별로 소스 코드를 

    따로 저장하는 공간입니다.

  - 버전별로 태그를 붙여서 tag 디렉토리 안에 보관한다고 생각하면 됩니다.



 출처 : croute블로그 (http://croute.me/)

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/05   »
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
글 보관함