
💨 VCS 버전 관리 시스템 (Version Control System)
⭕ VCS
💡 소프트웨어 개발 및 기타 프로젝트에서 파일의 변화를 관리하고 기록하는 도구
❗ 장점 : 개발자들이 코드와 문서의 변화를 추적하고, 협업을 원활하게 하며, 이전 버전으로 쉽게 되돌릴 수 있게 도와줌 😊
⭕ VCS의 종류
- 중앙 집중식 VCS (CVCS)
- 예시: Subversion(SVN), CVS
- 특징:
- 하나의 중앙 서버에 모든 버전의 파일이 저장됨
- 개발자들은 이 서버에서 파일을 체크아웃(checkout)하여 작업 후 다시 체크인(check-in)함
- 중앙 서버가 단일 실패 지점(single point of failure)이 될 수 있음
- 분산형 VCS (DVCS)
- 예시: Git, Mercurial
- 특징:
- 각 개발자가 전체 프로젝트의 히스토리를 로컬 저장소에 복제(clone)함
- 로컬에서 모든 작업이 가능하고, 필요할 때 원격 저장소와 동기화함
- 협업이 용이하고, 중앙 서버의 장애 시에도 로컬 저장소를 통해 복구 가능