# 버전 관리란?
버전 관리 시스템(VCS)는 파일 변화를 시간에 따라 기록했다가 나중에 특정 시점의 버전을 다시 꺼내올 수 있는 시스템
VCS를 사용하면
- 각 파일을 이전 상태로 되돌릴 수 있고,
- 프로젝트를 통째로 이전 상태로 되돌릴 수 있고,
- 시간에 따라 수정 내용을 비교해 볼 수 있고,
- 누가 문제를 일으켰는지도 추적할 수 있고, 누가 언제 만들어낸 이슈인지도 알 수 있다.
- 또한 파일을 잃어버리거나 잘못 고쳤을 때도 쉽게 복구 가능하다
# 버전 관리의 3가지 방법
1. 로컬 버전 관리
EX) RCS(Revision Control System)
-로컬 디바이스 내의 데이터 베이스를 사용해서 파일의 변경 정보 관리
2. 중앙집중식 버전관리(CVCS)
EX) CVS, Subversion, Perforce
-파일을 관리하는 서버가 별도로 있고 클라이언트가 중앙 서버에서 파일을 받아서 사용(checkout)
-작업 프로세스 진행 확인이 용이
-모든 클라이언트의 로컬 데이터베이스를 관리하는 것보다 vcs 관리가 용이
-단, 중앙서버에 문제 발생 시 문제 해결까지는 협업 및 백업 불가
-또한 중앙 데이터베이스가 있는 하드디스크에 문제 발생 시 프로젝트의 모든 히스토리 잃게 됨
3. 분산버전 관리시스템(DVCS)
EX) Git, Mecurial, Bazaar, Darcs
-클라이언트가 파일의 마지막 스냅샷만을 단순 Checkout하는 것이 아닌 히스토리와 더불어 저장소 전부를 복제
-서버에 문제 생길 시 이 복제물로 작업 재개 가능
-clone은 모든 데이터를 가진 진정한 백업
-대부분의 DVCS 환경에서는 원격 저장소가 존재
-따라서 사람들은 계층 모델 같은 중앙집중식 시스템으로는 불가능한 다양한 워크플로를 사용하여 협업 가능
'git > 1. 사전지식 및 기초' 카테고리의 다른 글
#1-3 git 기초 : 최초 설정 및 설정 확인 (0) | 2022.02.15 |
---|---|
#1-2 git 기초 : 관리하는 파일 상태/저장소 (0) | 2022.02.15 |
댓글