CVS : 서버와 클라이언트로 구분된 시스템, 롤백 불가능
SVN : CVS의 제한적인 기능을 대체하기 위해 개발, 롤백 가능
Git : 분산형 버전 관리 시스템, 리눅스 토발즈가 리눅스 커널 개발 위해서 만듦. 원격서버 상태에 구애받지 않고 형상관리 가능
GitHub : 프로젝트 저장뿐만 아니라, 다른 사용자들과 함께 코드 공유, 및 협업 같이 할 수 있도록 함.
GitHub에서 사용하는 저장소 종류
저장소 : 파일이나 디렉토리를 저장하는 장소
로컬 저장소 : 본인 PC에 파일이 저장되는 개인 저장소
원격 저장소 : 서버 등 네트워크에 있는저장소, GitHub에서 관리되고 있는 저장소.
-->> 로컬저장소에서 작업을 수행하고, 그 결과를 원격저장소에 저장함.
DVCS
**Git 탄생 배경
리눅스 커널 개발을 위해 DVCS이 필요하여 Git이 탄생
--> 리눅스 커널을 압축 파일을 이용하여 단순하게 관리
Git 목표 : 빠른 속도, 단순한 구조, 비선형적 개발, 완벽한 분산.
**스냅샷이란
** Git에서 사용하는 영역
작업 디렉터리 : 버전 관리가 필요한 파일이 저장되어 있는 디렉터리, .git 디렉터리에 반영
스테이징 영역 : 곧 커밋할 파일에 대한 정보를 담은 영역
.git 디렉터리 : Git의 버전관리를 위한 데이터가 저장