2012. 12. 24. 10:00
Git, GitHub/Git Lec02
Pro Git에 대한 번역본을 보면서 공부한 내용을 정리한다.
> 버전 관리 형태
- VCS : 초창기 로컬 버전 컨트롤 시스템으로 시작
- CVCS : 중앙 버전 컨트롤 시스템 (단점 : 중앙 저장소 장애시 모든 개발자 접속 불가. 예: SVN, CVS)
- DVCS : 분산 버전 컨트롤 시스템 (장점 : CVCS 단점 극복, 중앙 저장소를 그대로 로컬에 복제하여 사용함. 예: Git)
> Git 역사
- 리눅스 초창기 개발에서 쓰던 BitKeeper DVCS가 상용화 요구하면서 개발됨
- 빠른 속도, 단순한 구조, 동시 다발적 브랜치(비선형적 개발), 완벽한 분산, 대형 프로젝트에도 적함(속도, 크기면에서도) 요건 충족토록 개발시작
- 2005년 탄생
> Git 특성
- Git 데이터는 파일 시스템의 SnapShot 으로 크기가 작다. 파일 변경이 없으면 버져닝시 이전 파일의 링크만 저장한다.
- 거의 모든 명령은 로컬에서 수행된다. (CVCS는 네트워크 속도에 영향을 받는다) 오프라인 상태에서도 작업이 가능하다.
- 데이터 무결성을 위해 모든 데이터 저장전 체크섬(Checksum 또는 Hash)을 구하여 관리한다. SHA01 Hash를 사용하여 체크섬을 만든다. (길이 40자 16진수 문자열)
- 로컬에 3 단계로 나뉜다 : Working Directory (Modified) - Staging Area (Staged) - Git Directory(Local Repository, Commited)
- Working Directory : 특정 버전을 Checkout 한 것이다. Git Directory에 압축된 데이터베이스 파일을 가져와 만든다
- Staging Area : Git Directory에 있고, 단순 파일이고 곧 Commit 할 파일에 대한 정보이다. 종종 인덱스라고 불림.
- Git Directory : 프로젝트의 메타데이터와 객체 데이터베이스를 저장하는 곳이다. Git의 핵심이다.
'Git, GitHub > Git Lec02' 카테고리의 다른 글
[Pro Git] Git Alias 사용하기 (0) | 2013.01.08 |
---|---|
[Pro Git] Tag 사용하기 (0) | 2013.01.08 |
[Pro Git] 리모트 저장소 관리하기 (0) | 2012.12.27 |
[Pro Git] Git 저장소 만들기와 상태 변경 명령 (0) | 2012.12.24 |
[Pro Git] Git 설치와 최초 설정하기 (0) | 2012.12.24 |