Git은 분산버전관리시스템(DVCS)이다.
- 중앙집중버전관리시스템( CVCS : Centralized VCS) - 파일을 관리하는 중앙 서버에 DB가 있어 소스코드와 히스토리를 저장한다.
- 중앙 서버가 작동하지 않으면 각 버전의 정보를 받아올 수 없고, 중앙 서버 하드에 문제가 생기면 전체적인 히스토리를 잃을 수 있다. EX) SVN
- 분산버전관리시스템(DVCS : Distributed VCS) - 소스코드와 히스토리를 여러 개발PC에복사하여 내 컴퓨터가 저장소가 된다.
- 서버에 문제가 생기면 로컬 복제 데이터로 작업이 가능하고, 여러명이 동시에 작업하는 병렬 개발이 가능하다. EX) GIT
Git의 장점
- 브랜치를 통해 개발한 뒤, 합치는 방식으로 같은 파일을 여러 명이 동시에 작업하는 병렬 개발이 가능하다.
- 버전 관리를 통해 체계적인 개발이 가능해지고, 어플리케이션을 배포하는 과정도 간단해진다.
Git의 실행 원리
작업영역을 생성한다. -> git init
작업영역에서 변화를 감지하여 인덱스 영역에 기록한다. -> git add
인덱스 영역에서 파일은 tree 목차 형태로 관리된다.
인덱스 영역의 버전을 헤더 영역에서 브랜치를 통해 영구히 저장한다. -> git commit
반응형