연관토픽
개념
- SW 개발 시 코드와 라이브러리, 관련 문서 등의 시간의 변화에 따른 변경을 관리하는 시스템
버전관리 시스템의 유형
유형 | 설명 |
Client-Server Model | 중앙의 Repository를 이용, commit/update를 통해 관리하는 모델 |
Distributed Model | 각각 Local에 Repository를 가지고, pull/push를 통해 관리하는 모델 |
버전관리 시스템의 분류
구분 | 유형 | 예 |
Repository Model | Local | rcs |
Client-Server | CVS, SVN, Clear Case | |
Distributed | Git, Mercurial | |
License | OSS | CVS. SVM. GIT, Mercurial |
Commercial | PCVS, Clear Case, Bitkeeper |
Client-Server Model vs. Distributed Model
구분 | Client-Server Model | Distributed Model |
동작방식 | ![]() |
![]() |
전송방식 | commit/update | push/pull |
저장방식 | checkout | private clone |
네트워크 | http, https, svn, svn+ssh 등 규약 통신 | 네트워크나 중앙 서버에 의존하지 않음 |
소스관리 | branching, tagging | branching, merging |
속도 | 네트워크 이용으로 속도가 느림 | 로컬 저장소 활용으로 속도가 빠름 |
오프라인 작업 | Server를 이용해야 하므로 불가능 | Server가 끊겨도 작업 가능 |
마지막 버전 | 항상 마지막 버전을 손쉽게 획득 | Local 작업이 마지막 버전일 수도 있음 |
동시성 모델 | Merge, Lock | Merge |