버전 관리 시스템
IT위키
더 많은 작업
- Version Control System; VCS
- 소스 코드와 문서 같은 파일의 변경 이력을 저장해 두고, 필요할 때 이전 버전을 찾아보거나 되돌리고 여러 사람의 변경을 합칠 수 있게 하는 시스템
- 최초의 버전 관리 시스템은 유닉스 환경에서 사용되었던 SCCS
버전 관리 자료를 어디에 두느냐에 따라 보통 세 가지로 나눈다.
| 방식 | 자료를 두는 곳 | 특징 | 예 |
|---|---|---|---|
| 공유 폴더 방식 | 개발자들이 함께 쓰는 공유 폴더(로컬 파일 시스템) | 개발자가 작업한 파일을 매일 공유 폴더에 복사하고, 담당자가 변경 내용을 확인해 반영한다. 파일 단위로 관리한다 | SCCS, RCS, PVCS, QVCS |
| 클라이언트·서버 방식(집중형) | 중앙 서버의 저장소 한 곳 | 개발자는 서버에서 파일을 받아 고친 뒤 서버에 올린다(커밋). 서버에 문제가 생기면 버전 관리를 할 수 없다 | CVS, SVN, Clear Case |
| 분산 저장소 방식(분산형) | 원격 저장소와 각 개발자의 로컬 저장소 | 버전 관리 자료가 원격 저장소와 로컬 저장소에 함께 저장된다. 로컬 저장소에서 커밋·이력 조회를 할 수 있어 원격 저장소에 문제가 생겨도 로컬 자료로 작업을 이어 간다 | Git, 머큐리얼(Mercurial), Bazaar |
- '단일 저장소 방식'이라는 이름의 분류는 쓰지 않는다. 저장소가 서버 한 곳에만 있는 것은 클라이언트·서버 방식이다