[소스관리]VSS, CVS, SVN!

2012. 4. 5. 19:16제2외국어/알고가자.














소스관리 방법들.


간단히 말하면 코드관리 프로그램으로... 혼자할 때도 좋지만 팀 단위 프로젝트를

진행할 경우에 아주 중요한 프로그램입니다.


1. VSS 'Visual SourceSafe'

[장점]

- MicroSoft사 제품, 같은 솔루션(Visual Studio)과 통합이 용이

- 동시 수정이 불가능(장점이자 단점)

[단점]

- 가지치기(Branch)기능 빈약

- 대규모 프로젝트에 부적합

( 대규모용 MicroSoft사의 'Team Foundation Server' 가 따로 있다 )


2. CVS 'Concurrent Versions System'

[장점]

- 가장 오랜기간 사용, 즉 안전하고 검증됨

- 동시작업가능

- 병합(Merge),가지치기(Branch),태그(Tag),비교(Compare) 지원

- 대부분의 운영체제 지원

- 파일전체가 아닌 변경사항만 저장, 백업용량이 적다

[단점]

- 저장소의 파일의 이름을 바꿀 수 없다. (엄청 불편)

- 속도가 느리다

- Commit 실패 시 RollBack을 지원하지 않는다.


3. SVN : 'Subversion'

[장점]

- 원자적 Commit으로 엉키지 않으며, 실패 시 RollBack 지원

- 파일과 디렉토리의 삭제,이동,변경, 복사 등을 지원

- 속도가 빠르다

- 디렉토리 버전 관리도 가능

[단점]

- 안전성이 CVS에 비해 빈약

- 병합(Merge)을 사용하기 어렵다. 

(잘 안됨, 직접 하는게 빠르고, 정확하다)




Trunk

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

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

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

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


Branch

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

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

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


Tag

  - tag는 꼬리표입니다.

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

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




간단한 한줄 정리

Trunk : 원본을 저장할 저장소

Branch : 개별 프로젝트, 각자 개발하기 위한 공간

Tag : 하나의 버전을 릴리즈할 때 추가

-- 진짜 간단하게 말한겁니다


가장 많이 쓰이는 용어들...


Repository : (원본 저장소) 원본 소스를 저장하고 있는 저장소
Working Copy : (작업 디렉토리) 원본 저장소에서 체크아웃(Checkout)을 통해
                        받은 작업 디렉토리
Revision : (리비전) 소스를 수정하여 커밋하면 규칙에 의하여 숫자가 증가.
             
저장소에 저장되는 파일버전이라고 생각하시면 됩니다.
( 단! 여러 개의 파일을 리비전 할 경우 전체로 리비전이 매겨지는 것이지 따로 매겨지는 것은 아니다. )






'제2외국어 > 알고가자.' 카테고리의 다른 글

빈용량 파일 만들기(Windows / linux)  (0) 2017.02.28
(tip)정규식  (0) 2013.02.27
OS X Lion Server 사용해보기..  (0) 2012.07.06
Visual Concept?  (0) 2012.03.26