버전 관리 도구의 유형별 특징 - 방식에 따른 버전 관리 도구 유형, 구분에 따른 버전 관리 도구 소개, 현업에서 쓰이는 다양한 버전 관리 도구별 특징

CODEDRAGON Development/Software Engineering

반응형

 

 

 

 

버전 관리 도구의 유형별 특징

·       방식에 따른 버전 관리 도구 유형

·       구분에 따른 버전 관리 도구 소개

·       현업에서 쓰이는 다양한 버전 관리 도구별 특징

 


 

 

방식에 따른 버전 관리 도구 유형

버전 관리 도구 유형

버전 관리 도구 유형 버전 관리 도구 설명
공유 폴더 방식
(RCS, SCCS)
·       매일 개발 완료 파일은 약속된 위치의 공유 폴더에 복사
·       담당자 한 명이 매일 공유 폴더의 파일을 자기 PC로 복사하고 컴파일하여 에러 확인과 정상 동작 여부 확인
·       정상 동작일 경우 다음날 각 개발자들이 동작 여부 확인
클라이언트/서버 방식
 (CVS, SVN)
·       중앙에 버전 관리 시스템이 항시 동작
·       개발자들의 현재 작업 내용과 이전 작업내용 축적 용이
·       서로 다른 개발자가 같은 파일을 작업했을 때 경고 출력
·       Trac이나 CVS view와 같은 GUI 툴을 이용 모니티링 가능
분산 저장소 방식
(Git, Bitkeeper )
·       로컬 저장소와 원격저장소 구조
·       중앙의 저장소에서 로컬에 복사(clone)한 순간 개발자 자신만의 로컬저장소에 생성
·       개발 완료한 파일 수정 이후 로컬 저장소에 커밋한 이후 다시 원격 저장소에 반영(Push)하는 방식

 

 

 

구분에 따른 버전 관리 도구 소개

버전 관리 도구 구분

구분 유형 예시
저장소 구분 로컬 버전 관리 시스템 rcs
저장소 구분 중앙 집중형 버전 관리 시스템 CVS, SVN, Clear Case
저장소 구분 분산형 버전 관리 시스템 Git, Mercurial
소스 공개 유형 Open Source CVS, SVN
소스 공개 유형 상용 버전 관리 툴 PVCS, Clear Case

 

 

 

현업에서 쓰이는 다양한 버전 관리 도구별 특징

버전 관리 도구의 유형별 분류

버전 관리 도구 소개 특징
CVS
(Concurrent Versions System)
·       서버와 클라이언트로 구성되어 다수의 인원이 동시에 범용적인 운영체제로 접근 가능하여 버전 관리를 가능케 한다.
·       Client가 이클립스에 내장되어 있다.
SVN
(Subversion)
·       GNU의 버전 관리 시스템으로 CVS의 장점은 이어받고 단점은 개선하여 2000년에 발표되었다. 사실상 업계 표준으로 사용되고 있으며 SVN으로 불리고 있다.
RCS
(Revision Control System)
·       CVS와 달리 소스 파일의 수정을 한 사람만으로 제한하여 다수의 사람이 파일의 수정을 동시에 할 수 없도록 파일을 잠금하는 방식으로 버전 컨트롤을 수행한다.
Bitkeeper SVN과 비슷한 중앙 통제 방식의 버전컨트롤 툴로서 대규모 프로젝트에서 빠른 속도를 내도록 개발되었다.
Git ·       기존 리눅스 커널의 버전 컨트롤을 하는 Bitkeeper를 대체 하기 위해서 나온 새로운 버전 컨트롤로 현재의 리눅스는 이것을 통해 버전 컨트롤이 되고 있다. Git는 속도에 중점을 둔 분산형 버전 관리 시스템(DVCS)이며, 대형 프로젝트에서 효과적이고 실제로 유용하다.
·       Git SVN과 다르게 Commit은 로컬 저장소에서 이루어 지고 push라는 동작으로 원격 저장소에 반영된다.(로컬 저장소에서 작업이 이루어져 매우 빠른 응답을 받을 수 있다.)
·       또 받을 때도 Pull 또는 Fetch로 서버에서 변경된 내역을 받아 올 수 있다.
 
·       주요 특징은 다음과 같다.
·       Git의 작업 폴더는 모두 전체 기록과 각 기록을 추적할 수 있는 정보를 포함하는 완전한 형태의 저장소
·       네트워크에 접근하거나 중앙 서버에 의존하지 않음.
·       Git GNU 일반 공중 사용 허가서 v2 하에 배포되는 자유 소프트웨어
Clear Case ·       IBM에서 제작되었다.
·       복수 서버, 복수 클라이언트 구조이며 서버가 부족할 때 필요한 서버를 하나씩 추가하여 확장성을 기할 수 있다.