본문 바로가기
Tool 사용, 리뷰

[Tool] 형상관리 Tool 중 하나인 SVN이란?

by jjongday 2024. 3. 31.
반응형

SVN이란? 

 

SubVersion 단어의 줄임말로 중앙집중관리식 형상관리 소스 관리 툴이다.

각각의 개발자들이 본인의 코드 변경 사항을 하나의 중앙 저장소 (Center Repository) 에 commit 하는 방식으로 운영한다.

즉, 로컬 PC에서 commit 시 중앙 저장소에 바로 반영되고 중앙 저장소에 있는 내용들을 다른 로컬 PC에 업데이트 시킬 수 있다.

이해가 직관적이라는 장점이 있지만 중앙 저장소에 문제가 발생될 경우에 서비스 자체가 중단되는 현상이 발생할 수 있다.

SVN 용어 정리


- Trunk

 : 프로젝트에서 가장 중심이 되는 디렉토리. 개발소스를 Commit 했을 때 개발 소스가 모이는 곳.


- Branche

 : trunk에서 분리/복사한 소스로 버전별 배포판을 만들거나 trunk와 별도로 운영환경을 위한 안정화된 소스 관리 목적으로 사용


- Tag

 : 버전 별로 소스코드를 따로 관리하는 공간 / 특정 시점에서 프로젝트의 스냅샷을 찍어두는 개념.


- Repository

 : 프로젝트 파일 및 변경 정보가 저장되는 장소.

 

- Import

: 빈 Repository에 맨 처음 파일들을 채우는 것.


- Export

: 버전 관리 파일들을 뺀 순수 파일만 빼내는 것.


- Checkout

 : 저장소에서 최신 버전의 소스코드를 최초로 받아오는 것

 : Repository에서 프로젝트 관련 파일들을 받아올 때 사용.


- Update

 : 로컬 저장소에 있는 파일들을 저장소의 최신 버전으로 받아 오기.


- Commit

 : 로컬 저장소의 변경된 내용을 서버로 전송 / Checkout한 파일의 수정사항을 갱신.


- Revert

 : 로컬 저장소의 내용을 이전 상태로 돌림.

 

- Revision

 : 로컬 저장소의 변경된 내용을 서버로 전송하는 것. 수행할 때마다 Revision 수가 올라감.


- Add

 : 버전 관리 대상으로 파일 등록.



SVN 장점
1. 원자적인 커밋을 지원하므로 다른 사용자의 커밋과 얽히지 않습니다. 롤백도 가능하다.
2. 파일과 디렉토리의 삭제, 이동 이름 변경, 복사같은 기능들을 지원한다.
3. 소스 파일 이외에 이진 파일(텍스트 파일이 아닌 컴퓨터 파일) 도 효율적으로 저장 가능하다.
4. 디렉터리도 버전 관리를 할 수 있다.
5. 저장소의 크기에 상관없이 일정한 시간 안에 가지치기나 태그를 할 수 있다.
6. 처리 속도가 상대적으로 빠르다.

SVN 단점
1. 소스코드는 merge가 가능하지만 이진파일은 어느 한쪽을 버릴 수 밖에 없다.
2. 개별 개발자만의 개발 이력을 가질 수 없다.
3. 잦은 커밋이 발생하면 리비전 번호가 크게 증가할 수 있다.
4. 충돌이 일어날 확률이 높다.

반응형