Git
Github
Git 시작하기 - 버전 관리 개요
짐코딩
2023년 12월 7일
목차
버전 관리란?
버전 관리는 시간에 따른 파일 변화를 기록하여 나중에 특정 버전을 불러올 수 있는 시스템입니다. 주로 소프트웨어 소스 코드에 사용되지만, 사실상 모든 유형의 컴퓨터 파일에 적용할 수 있습니다.
버전 관리의 장점
- 이전 상태로 파일 복원 가능
- 프로젝트 전체를 이전 상태로 되돌리기 가능
- 시간에 따른 변경사항 비교
- 문제의 원인과 도입 시점 파악
- 파일 손실 시 쉽게 복구
- 적은 리소스로 운영 가능
버전 관리 시스템의 발전
1. 로컬 버전 관리 시스템
- 가장 기본적인 방식: 다른 디렉토리에 파일 복사
- 단점: 에러 발생 가능성이 높음
- 초기 해결책: RCS와 같은 로컬 데이터베이스 기반 도구 사용
2. 중앙집중식 버전 관리 시스템 (CVCS)
- 대표적 예: CVS, Subversion, Perforce
- 특징: 중앙 서버에 모든 버전 파일 보관
- 장점:
- 팀원들의 작업 현황 파악 용이
- 관리자의 권한 제어 가능
- 관리가 더 쉬움
- 단점:
- 중앙 서버가 단일 실패 지점
- 서버 다운시 협업 불가
- 백업 부재시 모든 히스토리 손실 위험
3. 분산 버전 관리 시스템 (DVCS)
- 대표적 예: Git, Mercurial, Darcs
- 특징:
- 저장소의 전체 복사본을 로컬에 유지
- 모든 클라이언트가 전체 백업 역할
- 여러 원격 저장소와 동시 작업 가능
- 장점:
- 서버 장애에도 복구 용이
- 다양한 워크플로우 구성 가능
- 계층적 모델 구현 가능
이러한 버전 관리 시스템의 이해는 Git을 시작하는 데 중요한 기초가 됩니다. Git은 현대적인 분산 버전 관리 시스템으로, 효율적인 협업과 코드 관리를 가능하게 합니다.