Pro git 한글 번역본을 참고하였다.
Git는 파일을 Commited, Modified, Staged 이렇게 세 가지 상태로 관리한다. Commited란 데이터가 로컬 저장소에 안전하게 저장되었다는 것을 의미한다. Modified는 수정한 파일을 아직 로컬 저장소에 Commit하지 않은 것을 말한다. Staged란 현재 수정한 파일을 곧 Commit 할 것이라고 표시한 상태를 의미한다. 이 세 가지 상태는 Git 프로젝트의 세 가지 단계와 연결되어 있다. Git Directory(Local repository), Working Directory, Staging Area이 그것이다.
Git Directory(Local Repository) : Git가 프로젝트의 메타데이터와 객체 데이터베이스를 저장하는 곳을 말한다. 다른 컴퓨터에 있는 저장소를 Clone 할 때 Git Directory가 만들어진다.
Working Directory : 프로젝트의 특정 버전을 Checkout한 것이다. Git Directory는 지금 작업하는 디스크에 있고, 그 Directory에 압축된 데이터베이스에서 파일을 가져와서 Working Directory를 만든다.
- Staging Area : Git Directory내에 존재한다. 단순한 파일이고 곧 Commit 할 파일에 대한 정보를 저장한다. 종종 인덱스(Index)라고 불리기도 한다.
만약, 원격저장소를 사용한다면, 아래와 같은 구성을 이룰 것이다. 협업을 위해서는
아래의 흐름을 잘
이해해야 한다. 아래의 그림에서
원격저장소는 1개 이상이 될
수 있다.