정미나닷컴

[Git] Git이란, Git에 대한 기초 이론 본문

IT

[Git] Git이란, Git에 대한 기초 이론

정미나 2020. 9. 23. 16:09

대부분의 VCS(Subversion 등)가 관리하는 정보는 파일들의 목록이다.
* VCS : Version Control System

기존 시스템들의 형태

 

Git의 데이터는 파일 시스템의 스냅샷이라 할 수 있으며 크기가 아주 작다.

Git의 형태


Git의 특징

- 거의 모든 명령이 로컬에서 이루어지므로 속도가 미친듯이 빠르다.

- 프로젝트의 모든 히스토리가 로컬 디스크에 저장

- 오프라인 상태에서도 커밋 가능

- Git은 파일을 이름으로 저장하지 않고 해당 파일의 해시로 저장

 

Git의 상태

- Modified : 수정한 파일을 아직 로컬 데이터베이스에 커밋하지 않은 상태

- Staged : 현재 수정한 파일을 곧 커밋할 거라고 표시한 상태

- Committed : 데이터가 로컬 데이터베이스 안에 저장된 상태

 

Git의 저장 단계

- Working directory : 프로젝트의 특정 버전을 Checkout한 것

- Staging area : Git directory에 위치, 곧 커밋할 파일에 대한 정보를 저장, 인덱스라고도 불림, 생략 가능

- Git directory(repository) : 프로젝트의 메타데이터와 객체 데이터베이스를 저장하는 곳, Git의 핵심!
                                    다른 컴퓨터에 있는 저장소를 Clone 할 때 생성됨


① Working directory에서 파일을 수정한다.

② Staging Area에 파일을 Stage해서 커밋할 스냅샷을 만든다.

③ Staging Area에 있는 파일들을 커밋해서 Git directory에 영구적인 스냅샷으로 저장한다.

 

※ 출처 : Pro Git - Scott Chacon