Git에서의 3가지 영역
- Working Directory 프로젝트를 작업하는 디렉토리 영역
- Staging Area 커밋하기 위한 대상들의 영역
- Repository 커밋된 대상들의 영역 (.git 디렉토리)
Git에서의 File의 여러가지 상태
- Untracked vs Tracked
- Working Directory에 있는 파일을 Git 추적 여부에 따라 두 가지 상태로 분류
- Untracked: Git이 해당 파일을 추적 및 관리하지 않는 상태
Working Directory에 있지만, 한 번도 add나 commit 하지 않은 파일- Tracked: Git이 해당 파일을 추적 및 관리하는 상태
Working Directory에 있으며, add나 commit 한 적이 있는 파일- Unmodified vs Modified
- Tracked 상태의 파일을 변경 여부에 따라 두 가지 상태로 분류
- Unmodified: add나 commit 시점 이후 변경사항이 없는 파일
- Modified: add나 commit 시점 이후 변경사항이 있는 파일
git status -s 를 통해 파일 상태 간략하게 확인하기
- 디렉토리 내 파일들의 상태를 두 자리 문자로 표현하여 출력
- 문자의 앞 자리: Staging Area에서의 상태
- 문자의 뒷 자리: Working Directory에서의 상태
- ?? : 파일 add X (Untracked)
- A_ : 파일 새로 생성 -> add (Tracked, Staged)
- _M : Tracked 상태의 파일에 변경사항 -> add X (Tracked, Modified, Unstaged)
- M_ : Tracked 상태의 파일의 변경사항 -> add (Tracked, Modified, Staged)
- MM: Tracked 상태의 파일에 변경사항1 -> add -> 변경사항 2 -> add X
- commit 후 변경사항이 없는 경우, git status에 상태 출력되지 X (Tracked, Unmodified, Unstaged)