GIT : 01.VCS(Version Control System)
❇️ 요약
- VCS
- Local VCS / Centrailzed VCS(중앙 집중 VCS) / Distributed VCS(분산 VCS)
- VCS 종류
📖 강의 들어가기 전
🔆 버전관리 시스템이 없던 예전
- Source Folder + 실행파일을 버전별로 카피하여 관리
- 하루종일 개발한 코드가 컴퓨터가 다운 되면서 날아가버림
- 백업을 수동으로 하던 시절
🔆 프로젝트 개발은
- 하나의 프로젝트를 여러명이 동시에 개발해야 함
- 개발 중 문제가 발생하면, 문제의 전후 상황을 파악하여 특정 시점의 버전으로 돌아갈 수 있어야 함
- 버전별로 소스가 관리되어야 함
- 여러 개발 시스템이 연동되어야 함
🔆 오늘날 버전관리시스템
- 형상 관리 시스템(CSM, Configuration Management System)
- 버전 관리 시스템(VCS, Version Control System)
- Source Data + History
- 협업, 작업 추적, 복구 등이 가능
📖 VCS(Version Control System)
🔆 Local VCS
- 내 컴퓨터에서 버전관리 가능 → 내 컴퓨터 하드가 날아가면 전체코드 사라짐
- 버전은 관리 되지만, 협업은 여전히 어려움

🔆 Centrailzed VCS(중앙 집중식 버전관리)
- 협업이 가능해짐 (제한적)
- commit 하는 순간 배포되어 다수에게 버그 유발 가능 (서버로 바로 Commit)
- 인터넷이 안되면 작업이 불가능
- 자신만의 version history를 가질 수 없음

🔆 Distributed VCS (분산 버전관리)
- Commit 하더라도 개인저장소 내에 적용됨
- 원하는 순간에 배포(Push) 가능
- 오프라인에서도 작업 가능
- 자신만의 version history를 가짐

📖 VCS 종류
📌 VCS 종류
- Centralized VCS
- Distributed VCS
🔆 CVS(Concurrent Versions System)
- 1980년대 만들어진 형상관리툴
- Commit 중 오류 발생 시 Rollback이 되지않는 등의 문제
- 이후 SVN으로 대체됨
🔆 SVN(Subversion)
- [Git 사이트]
- 실무에서 보다 복잡한 까다로운 상황 발생시 사이트 참고하여 해결하기
- SVN보다 빠른 속도와 많은 기능을 지원
- 요즘 기업들은 대부분 Git을 사용 중