카테고리 없음

VCS(Version Control System)

pioneerxj 2023. 11. 6. 00:39

VCS(Version Control System)란 버전관리시스템으로

파일 변경 사항을 시간에 따라 기록하고, 필요할 때 특정 버전을 다시 호출할 수 있는 시스템을 말한다.

 

파일이 누가, 언제, 어떻게 변경되었는지를 기록하며 소스 코드의 변경 사항 추적이 가능하다.

VCS를 사용하면 파일을 이전 버전으로 쉽게 되돌릴 수 있고

여러 사람이 협업하는 경우 각자의 작업을 병합하는데 도움이 된다.

VCS에는 Git, SVN, Mercurial 등이 존재한다.

 

VCS는 크게 로컬 버전 관리 시스템, 중앙집중식 버전 관리 시스템, 분산 버전 관리 시스템으로 구분할 수 있다.

 

1. LVCS(Local Version Control Systems)

로컬 버전 관리 시스템(local VCS) 중의 하나로 파일 단위의 버전 관리를 제공하며,

주로 개인 사용자가 작업 내용을 관리하는데에 사용한다.

2. CVCS(Centralized Version Control Systems)

중앙 집중식 버전 관리 시스템으로 파일 단위가 아닌 프로젝트 단위의 버전 관리를 제공한다.

또한 클라이언트-서버 구조로 이루어져 여러 사람이 동시에 작업할 수 있는 다중 사용자 환경을 제공한다.

하지만 불안정한 동시성 제어, 원격 저장소의 느린 속도 등의 한계를 가지고 있었으며 후에 SVN(Subversion)으로 대체된다.

3. DVCS(Distributed Version Control Systems)

 

분산 버전 관리 시스템은 클라이언트가 저장소를 히스토리와 더불어 전부 복제한다.

서버에 문제가 생기면 클라이언트 복제물로 다시 작업을 시작할 수 있다. 

Git, Mecurial, Bazaar, Darcs 등이 있다.