Git
Github

Git 시작하기 - 버전 관리 개요

짐코딩
2023년 12월 7일

버전 관리란?

버전 관리는 시간에 따른 파일 변화를 기록하여 나중에 특정 버전을 불러올 수 있는 시스템입니다. 주로 소프트웨어 소스 코드에 사용되지만, 사실상 모든 유형의 컴퓨터 파일에 적용할 수 있습니다.

버전 관리의 장점

  • 이전 상태로 파일 복원 가능
  • 프로젝트 전체를 이전 상태로 되돌리기 가능
  • 시간에 따른 변경사항 비교
  • 문제의 원인과 도입 시점 파악
  • 파일 손실 시 쉽게 복구
  • 적은 리소스로 운영 가능

버전 관리 시스템의 발전

1. 로컬 버전 관리 시스템

  • 가장 기본적인 방식: 다른 디렉토리에 파일 복사
  • 단점: 에러 발생 가능성이 높음
  • 초기 해결책: RCS와 같은 로컬 데이터베이스 기반 도구 사용

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

  • 대표적 예: CVS, Subversion, Perforce
  • 특징: 중앙 서버에 모든 버전 파일 보관
  • 장점:
    • 팀원들의 작업 현황 파악 용이
    • 관리자의 권한 제어 가능
    • 관리가 더 쉬움
  • 단점:
    • 중앙 서버가 단일 실패 지점
    • 서버 다운시 협업 불가
    • 백업 부재시 모든 히스토리 손실 위험

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

  • 대표적 예: Git, Mercurial, Darcs
  • 특징:
    • 저장소의 전체 복사본을 로컬에 유지
    • 모든 클라이언트가 전체 백업 역할
    • 여러 원격 저장소와 동시 작업 가능
  • 장점:
    • 서버 장애에도 복구 용이
    • 다양한 워크플로우 구성 가능
    • 계층적 모델 구현 가능

이러한 버전 관리 시스템의 이해는 Git을 시작하는 데 중요한 기초가 됩니다. Git은 현대적인 분산 버전 관리 시스템으로, 효율적인 협업과 코드 관리를 가능하게 합니다.