Working Directory
- 사용자가 작업하고 있는 프로젝트의 디렉토리
- .git 디렉토리를 제외한 나머지 부분
Staging Area(Index)
git add
명령어로 추가된 변경 사항이 저장소에 commit 되기 전에 대기하는 공간
git commit
명령어로 변경 이력을 저장소에 저장
Repository
- 파일이나 폴더를 변경 이력별로 저장해 두는 곳
- Local Repository(로컬 저장소)
- Remote Repository(원격 저장소)
File Status Lifecycle

- Untracked : Git으로 코드 변경 이력을 추적하지 않는 상태
- Unmodified : Tracked 상태이면서 한번도 수정을 하지 않은 상태
- Modified : Tracked 상태인 파일이 수정되었을 때의 상태
- Staged : Staging Area에 등록한 상태
Git Status Message
- nothing to commit, working tree clean : Tracked 파일이 수정되지 않았으며, Untracked 파일이 없는 상태
- Untracked files : Working Directory에 있으며 한 번도 Git 저장소가 관리하지 않은 파일을 표시
- Changes to be comitted : Staging Area에 등록되어 commit 대기 중인 파일을 표시
- Changes not staged for commit : Tracked 상태일 파일 중 수정된 후 아직 Staging Area에 등록되지 않은 파일을 표시