버전 관리 도구의 유형별 특징 - 방식에 따른 버전 관리 도구 유형, 구분에 따른 버전 관리 도구 소개, 현업에서 쓰이는 다양한 버전 관리 도구별 특징
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에서 제작되었다. · 복수 서버, 복수 클라이언트 구조이며 서버가 부족할 때 필요한 서버를 하나씩 추가하여 확장성을 기할 수 있다. |
'Development > Software Engineering' 카테고리의 다른 글
액티비티 다이어그램(Activity Diagram) 검토, 액티비티 다이어그램(Activity Diagram) 예시 (0) | 2017.05.12 |
---|---|
상속 계층도, 상속 크기 도식도, 상속 코드 (0) | 2017.05.10 |
제품 소프트웨어의 패키징 도구 - 제품 소프트웨어 패키징 도구의 개념, 패키징 도구 활용 시 고려 사항 (0) | 2017.05.09 |
제품 소프트웨어 모듈 빌드 기법-소프트웨어 빌드, 제품 소프트웨어를 위한 빌드 기법 (0) | 2017.05.09 |
릴리즈 노트 작성 시 고려 사항, 초기 버전 릴리즈 노트 작성 항목 - 릴리즈 노트 작성 항목, 릴리즈 노트 추가 작성 및 개선 사항 발생의 예외 케이스 (0) | 2017.05.07 |