사용목적
작업 DATA를 VERSION별로 관리하기 위해 Git을 사용합니다.
버전 관리 시스템 (VCS, Version Control System)
필요 목적
- 하나의 프로젝트를 여러 개발자가 함께 공동 개발하는 경우가 많습니다.
- 문제 발생 시 특정 버전으로 되돌릴 수 있어야 합니다.
- 여러 개발 시스템과 연동이 필요합니다.
버전 관리 시스템의 변화
Local Version Control System (Local VCS)
- 최초의 버전 관리 시스템입니다.
- 사용자의 컴퓨터 저장소에 버전을 관리하기 때문에 협업이 어렵고 저장소 훼손 시 복구가 어려웠습니다.
Centralized Version Control System (CVCS)
- 서버에 버전을 관리하는 방식입니다.
- 제한적인 협업이 가능하나 서버에 바로 COMMIT하기 때문에 배포되어 다수에게 버그가 발생할 가능성이 있습니다.
(제한적인 협업 : 한 사람이 작업 중인 경우 다른 사람이 작업할 수 없습니다.)
- 자신만의 버전을 가질 수 없으며, 서버와 연결이 필요해 오프라인으로는 작업이 불가합니다.
- 단, 보안이 중요한 경우에는 이 방식을 사용할 수 있습니다.
Distributed Version Control System (DVCS)
- 현재 가장 많이 사용되는 Git이 분산 버전 처리 시스템입니다.
- 사용자 컴퓨터 저장소에 버전을 저장하기 때문에 개별 버전 작업과 오프라인 작업이 가능합니다.
- 원하는 순간에 배포(PUSH)하면 원격 저장소에 작업 내역이 업로드됩니다.