Git은 **분산 버전 관리 시스템(distributed version control system)**입니다. 시간에 따른 파일의 변경 사항을 추적하고, 여러 사람이 협업할 수 있게 하며, 프로젝트의 완전한 히스토리를 보존합니다. 소프트웨어 개발에서 가장 널리 사용되는 버전 관리 도구로, 거의 모든 현대 작업에 필수적입니다.
버전 관리가 하는 일
버전 관리는 시간에 따른 코드의 변경(CHANGES)을 추적하며, 다음을 제공합니다:
✓ 히스토리 — 모든 변경이 기록됨(누가, 무엇을, 언제, 왜) → 코드가 어떻게 발전했는지 확인
✓ 협업 — 여러 사람이 같은 코드를 작업하되 서로의 작업을 덮어쓰지 않음
✓ 되돌리기/복구 — 이전 버전으로 revert; 실수로부터 복구
✓ 브랜칭 — 기능을 격리된 상태로 작업; 준비되면 merge
✓ 백업 — 코드가 repository(분산된 복사본)에 보관됨
Git은 분산형입니다
모든 개발자가 repository의 전체 복사본(전체 히스토리)을 로컬에 보유합니다:
→ 오프라인 작업(네트워크 없이 commit, branch, 히스토리 조회)
→ 빠른 작업(로컬)
→ 단일 장애점 없음(모든 clone이 완전한 백업)
→ 하나의 중앙 서버가 있는 중앙집중식 VCS(SVN)와 대비됨
→ "분산형" = repository가 중앙집중이 아니라 복제됨.
