본문 바로가기

IT 용어 정리

버전관리란

1. 버전관리란?

 

1.1. 버전관리란?

파일 변화를 시간에 따라 기록했다가 나중에 특정 시점의 버전을 다시 꺼내올 수 있는 시스템이다. 

VCS(Version Control System)를 사용하면 

 

1) 각 파일을 이전 상태로 되돌릴 수 있고 

2) 프로젝트를 통째로 이전 상태로 되돌릴 수 있고, 

3) 시간에 따라 수정내용을 비교해 볼 수 있고, 

4) 누가 문제를 일으켰는지 추적할 수 있고, 

5) 누가 언제 만들어낸 이슈인지도 알 수 있다.

6) 파일을 잃어버리거나 잘못 고쳤을 때도 쉽게 복구할 수 있다.

 

Ref.] 세가지 방식의 버전관리 시스템

1.1.1. 로컬 버전 관리 시스템

1.1.2. 중앙집중식 버전 관리 시스템

1.1.3. 분산 버전 관리 시스템

 

1.1.1. 로컬 버전 관리 시스템

VCS는 아주 간단한 데이터베이스를 사용해서 파일의 변경 정보를 관리.

VCS도구 중 RCS라고 불리우는 것이 지금까지도 많은 회사가 사용하고 있다.

RCS는 기본적으로 패치셋(Patch-Set:파일에서 변경되는 부분)을 관리한다. 패치셋은 특별한 형식의 파일로 저장하고 일련의 패치셋을 적용해서 모든 파일을 특정시점으로 되돌릴 수 있다.


1.1.2. 중앙집중식 버전 관리 시스템

다른 개발자와 함께 협업해야 하는 경우의 문제를 해결하기 위해 CVCS(중앙집중식 VCS)가 개발됐다. CVS, Subversion, Perforce 같은 시스템은 파일을 관리하는 서버가 별도로 있고 클라이언트가 중앙서버에서 파일을 받아서 사용한다.


1.1.3. 분산 버전 관리 시스템(DVCS)

Git, Mercurial, Bazaar, Darcs깉은 DVCS에서는 클라이언트가 파일의 마지막 스냅샷을 checkout하지 않고, 저장소를 전부 복제한다. 
서버에 문제가 생기면 이 복제물로 다시 작업을 시작할 수 있다. 클라이언트 중에서 아무거나 골라도 서버를 복원할 수 있다. 모든 checkout은 모든 데이터를 가진 백업이다.
게다가 대부분의 DVCS 환경에서는 원격 저장소가 존재한다. (원격 저장소가 많을수도 있다.) 그래서 사용자들은 동시에, 다양한 그룹과 다양한 방법으로 협업할 수 있다. 계층 모델 같은 중앙집중식 시스템으로는 할 수 없는 몇가지 워크플로우를 사용할 수 있다.

[출처] 1. 버전관리란?|작성자 LEE JINWON



'IT 용어 정리' 카테고리의 다른 글

무어의 법칙, 황의 법칙  (0) 2014.03.15
Package Management System  (0) 2014.03.13
팹[fab]이란?  (0) 2014.03.12
상호운용성  (0) 2014.03.11