버전 관리 시스템 (VCS : Version Control System)
버전 관리 시스템은 소스 코드의 변경 사항을 추적하고, 여러 명의 개발자가 동시에 협업할 수 있도록 도와주는 형상관리 (Configuration Management) 도구 중 하나이다.
VCS의 경우, 크게 두 가지로 나뉜다.
1. 중앙 집중식 (CVCS) : CVS, Subversion(SVN)
2. 분산형 (DVCS) : Git, Mercurial, Bazzaar
- 각 사용자의 컴퓨터에 로컬 저장소를 생성, 커밋을 통해 원격 저장소로 업로드한다.
버전 관리 시스템의 이점
- 백업 및 복원 : 실수로 파일을 지우더라도 이전 상태로 되돌릴 수 있다.
- 협업 지원 : 여러 개발자가 동시에 작업하고, 변경 사항을 통합할 수 있다. (충돌 방지)
- 변경 이력 추적 : 누가 어떤 변경을 수행했는지 알 수 있다.
- 브랜치 기능 : 실험적인 기능의 경우 따로 개발할 수도 있다.