🐾 버전관리시스템과 Git

버전관리시스템
우리가 손으로 해야 했던 사본 생성, 보존, 복원을 한 번에 해줄 수 있는 도구
버전 관리 시스템 종류
- 클라이언트-서버 모델
- 하나의 중앙 저장소를 공유한 후 각각 클라이언트는 저장소의 일부분만 갖는 형태
- 분산 모델
- 프로젝트에 참여하는 모든 클라이언트가 전체 저장소에 대한 개발적인 로컬 저장소를 갖고 작업하는 형태
- CVS (클라이언트-서버 방식의 버전관리)
-
서버의 저장소에 프로젝트의 온전한 원본이 있고, 클라이언트 각각은 서버에서 파일을 가져다가 로컬 저장소에서 변경한 뒤 변경된 내역을 서버에 다시 보냅니다.
-
파일 각각의 버전을 관리하고 추척가능, 파일 이름이 변경되거나 이동되는 것은 추적 불가
- 서브버전
- CVS 단점개선
- 머큐리얼(분산모델의 버전 관리 시스템)
- 버전 관리 시스템에 필요한 모든 기능을 한 번에 통합을 제공
Git
- 완벽한 분산 환경에서 동시 다발적인 브랜치 작업을 수생하는 것을 목표로 하는 버전 관리 시스템
- master 저장소 서버와 master 저장소의 완전한 사본을 가지는 클라이언트 저장소로 구성되어 있다.
Git의 특징
- 로컬 및 원격 저장소 생성
- 로컬 저장소에 파일 생성 및 추가
- 수정 내역을 로컬 저장소에 제출
- 파일 수정 내역 추적
- 원격 저장소에 제출된 수정 내역을 로컬 저장소에 적용
- master에 영향을 끼치지 않는 브랜치 생성
- 브랜치 사이의 병합(Merge)
- 브랜치를 병합하는 도중의 충돌 감지
참고
윤웅식,2015 “만들면서 배우는 Git GitHub 입문”,한빛미디어