버전 관리 시스템(VCS - Version Control System)은 파일 변화를 시간에 따라 기록했다가 나중에 특정 시점의 버전을 다시 꺼내올 수 있는 시스템이다.
그래픽 디자이너나 웹 디자이너도 버전 관리 시스템을 사용한다. 이미지나 레이아웃의 버전을 변경한 이력과 수정된 내용을 관리함으로써 파일을 이전 상태로 되돌리거나 통째로 처음으로 되돌릴 수 있고, 누가 언제 만들었는지 파악할 수도 있다.
버전 관리를 위해 디렉토리로 파일을 복사하면서 실수로 파일을 잘못 복사하거나 디렉토리를 지워버릴 수도 있다. 이런 이유로 프로그래머들은 로컬 VCS를 만들었다. VCS는 간단한 데이터베이스를 활용해 파일의 변경 정보를 관리했다.
VCS 도구 중 RCS (Revision Control System)은 오늘날까지도 많이 쓰인다. RCS는 Patch Set(파일에서 변경되는 부분)을 관리한다. Patch Set은 특별한 형식의 파일로 저장되고 모든 파일을 특정 시점으로 되돌릴 수 있다.
또 다른 개발자들과 협업하면서 생기는 문제점을 보안하면서 CVCS(중앙집중식 VCS)가 개발됐다. 서버가 별도로 있어서, 클라이언트는 이 중앙 서버로부터 파일을 받아 사용한다. CVCS 환경은 누가 무엇을 하는지 알 수 있어 관리가 수월하다. 일일이 클라이언트의 로컬 데이터베이스를 관리하느니 VCS 하나를 관리하는 게 더 편리하다.
DVCS 분산 버전 관리 시스템은 Git, Mecurial, Bazzar, Darcs 같은 DVCS에서의 클라이언트는 단순히 파일의 마지막 상태를 기록하는 것이 아니라, 히스토리 전부를 복제한다. 서버에 문제가 생기면 이 복제물로 다시 작업이 가능하다.
DVCS 환경에서는 리모트 저장소도 존재하므로, 동시에 다양한 그룹과 다양한 방법으로 협업이 가능하다.
'프론트엔드 로드맵' 카테고리의 다른 글
프론트엔드 로드맵 23 - Github깃허브 계정 생성 및 사용 방법 (왕초보도 따라할 수 있다!) (0) | 2020.05.14 |
---|---|
프론트엔드 로드맵 22 - Git 기본 사용법 (0) | 2020.05.12 |
프론트엔드 로드맵 20 - 자바스크립트의 모든 것 (호이스팅, 이벤트 핸들링, 버블링, 스코프, 프로토타입, shadow DOM, strict mode) (0) | 2020.05.11 |
프론트엔드 로드맵 19 - 모듈러 자바스크립트와 ES6+ (0) | 2020.05.11 |
프론트엔드 로드맵 18 - 자바스크립트 Fetch API / Ajax (XHR) (0) | 2020.05.04 |