Git 에서 세 가지 영역
Git 프로젝트는 Git 디렉터리, 워킹 트리, Staging Area 라는 세 가지 영역을 갖게 됩니다.
Git 프로젝트에서 파일들은 아래 세 가지 영역별로 다양한 상태를 가지게 됩니다.



Git 디렉터리(.git 디렉터리, 깃 저장소)
Git 디렉터리는 최초에 git init 명령으로 프로젝트가 Git 프로젝트로 만들어질 때 .git이라는 이름으로 생성되며, Git 프로젝트의 모든 메타데이터와 객체 데이터베이스가 이곳에 저장됩니다. 따라서 가장 중요한 공간이며, Git의 핵심이라고 할 수 있습니다. 또한 Clone으로 원격 저장소를 복사해서 가져올 때 이 .git 디렉터리를 만들고 원격 저장소의 모든 데이터를 복사하여 가져옵니다.


워킹 트리(워킹 디렉터리)
워킹 트리는 Git 디렉터리에서 특정 버전을 Checkout 해온 것입니다. 또한 우리는 이곳에서 프로젝트 작업(개발 및 수정)을 진행하게 됩니다.


Staging Area
또 다른 하나는 Stating Area이며, 실제로는 Git 디렉터리에 파일로 존재합니다. Index 영역이라고도 하지만 Staging Area가 표준 명칭으로 자리 잡힌 상태입니다. Staing Area는 워킹트리에서 작업한 내용이 Git 디렉터리에 Commit 되기 전에 거쳐가는 공간이지만, 이곳을 거치지 않고 바로 Commit 될 수 있습니다.


Git으로 하는 작업
Git으로 하는 작업은 기본적으로 다음과 같습니다.
1. 워킹 트리에서 파일을 수정합니다.
2. Staing Area에 파일을 Stage 하여 커밋할 스냅샷(버전)을 만듭니다.
3. Staing Area에 있는 파일들을 Commit 하여 Git 저장소에 영구적으로 스냅샷을 저장합니다.


영역별 상태
영역별 상태는 단순히 세 영역을 구분지어 설명하자면 다음과 같으며, 세밀하게 들어가면 더욱 복합적인 상태들이 존재합니다. 다음은 파일들의 상태가 영역별로 어떤 상태로 존재하는지를 나타냅니다.

1. Git 디렉터리에 존재하는 파일들은 Committed 상태입니다.
2. Git 디렉터리로부터 워킹 트리에 Checkout 하고 파일을 수정하고 Staging Area에 추가했다면 Staged 상태입니다.
3. Git 디렉터리로부터 워킹 트리에 Checkout 하고 파일을 수정했지만 아직 Staging Area에 추가하지 않은 경우 Modified 상태입니다.





출처 - https://git-scm.com/book/en/v2/Getting-Started-Git-Basics

블로그 이미지

도로락

IT, 프로그래밍, 컴퓨터 활용 정보 등을 위한 블로그

댓글을 달아 주세요! 질문 환영합니다!