본문으로 건너뛰기

#1 버전 관리 시스템

Git을 설치하고 사용하기 전에 Git이 무엇인지에 대해서 먼저 알아보자.
Git은 버전 관리 시스템(VCS) 중 하나이다.


버전관리란?​

버전관리는 파일의 변화를 시간에 따라 기록하고, 나중에 특정 시점으로 돌아갈 수 있도록 관리해주는 시스템이다.
소스코드뿐만 아니라 이미지나 문서 등 모든 파일에 적용할 수 있다.

예를 들어,

  • 일부분을 이전 시점으로 되돌리거나
  • 삭제한 파일을 복구하는 것도 쉽게 할 수 있다.

버전 관리 시스템의 종류​

크게 다음 세 가지로 나뉜다.

  1. 로컬 버전 관리 시스템 (Local VCS)
  2. 중앙집중식 버전 관리 시스템 (Centralized VCS)
  3. 분산 버전 관리 시스템 (Distributed VCS)

1. 로컬 버전 관리 시스템 (Local VCS)​

파일을 디렉터리별로 복사하여 관리하는 가장 단순한 형태

[내가 옛날에 했던 방식]
프로젝트.zip_2022-01-01
프로젝트.zip_2022-01-02

단순하지만, 실수로 덮어쓰거나 삭제할 위험이 크다.
그래서 간단한 DB 형태로 변경 이력을 저장하는 툴이 등장했고, 대표적으로 rcs 같은 도구가 있다.

로컬 VCS 예시


2. 중앙집중식 버전 관리 시스템 (CVCS)​

하나의 중앙 서버에 버전 DB를 두고, 클라이언트가 이를 참조하는 방식

CVCS 구조

장점

  • 누가 어떤 작업을 했는지 추적 가능
  • 관리자 관점에서 전체 프로젝트 파악 가능

단점

  • 서버가 다운되면 아무도 작업 불가
  • 백업이 없으면 전체 자료가 유실될 수도 있음

3. 분산 버전 관리 시스템 (DVCS)​

클라이언트가 전체 저장소를 복제하고, 서로 푸시/풀로 동기화하는 구조

Git도 여기에 속한다.

DVCS 구조

장점

  • 서버가 없어도 로컬 저장소로 복구 가능
  • 리모트 저장소를 통해 다양한 협업 구조 지원
  • 분산되어 있어 안정성, 유연성, 협업 효율이 높다

버전 관리 시스템을 이해하고 나면 Git의 철학과 구조도 자연스럽게 이해할 수 있다.
이제부터 Git을 제대로 다뤄보자.