Working Directory : 작업하는 파일이 있는 디렉토리
Working Directory는 작업 중인 파일들이 저장되는 디렉토리이다. Git은 Working Directory의 변경 이력을 추적하지 않고, 대신 변경된 파일들을 Staging Area에 추가하여 커밋할 준비를 한다. 따라서 Working Directory에서는 파일의 변경, 추가, 삭제 등이 자유롭게 이루어질 수 있다.
Staging Area : Git에 등록할 (커밋) 파일들이 올라가는 영역
Staging Area는 커밋할 파일들의 변경 이력을 저장하는 공간. Git은 Working Directory의 변경 이력을 추적하지 않고, 대신 Staging Area에 추가된 파일들의 변경 이력을 추적한다. 따라서 커밋을 하기 전에 변경된 파일들을 Staging Area에 추가하여 변경 이력을 정리할 수 있다.
Local Repository : 로컬 Git 프로젝트의 메타데이터와 데이터 정보가 저장되는 영역
Local Repository는 커밋된 변경 이력이 저장되는 로컬 저장소. Git은 커밋된 변경 이력을 Local Repository에 저장하며, 변경 이력들은 브랜치(branch)와 같은 구조로 저장된다. 브랜치는 하나의 커밋 히스토리를 나타내며, 브랜치를 변경하면 Local Repository에서 해당 브랜치의 커밋 히스토리가 변경된다.
Remote Repository : Github 등의 서비스를 통한 온라인 상의 저장소
Remote Repository는 로컬 저장소의 변경 이력을 공유하기 위한 원격 저장소. Git은 Remote Repository에 Push하여 로컬 저장소의 변경 이력을 원격 저장소에 반영하며, Pull하여 원격 저장소의 변경 이력을 로컬 저장소에 가져올 수 있다. Remote Repository는 다수의 사용자가 함께 작업할 수 있는 협업 환경을 제공한다.