Git에서 각 파일들의 상태는 작업 영역에서의 변경 상황에 따라 변화한다.
Working directory에 존재하는 파일들은 아래와 같은 상태들로 분류할 수 있다.
- Untracked : 새로 생성된 파일이며 버전 관리 이전의 상태이다.
- Staged : "git add"를 사용하여 stage area에 추가된 상태이며 다음 commit에 포함된다.
- Unmodified : 가장 최근 커밋 이후 파일에 아무 수정 사항이 없는 상태이다.
- Modified : 커밋된 파일이 새로 수정되었지만 아직 "git add" 명령어로 stage area에 등록 전 상태이다.
여기서 Staged 상태의 파일은 2가지 상황으로 분류할 수 있다.
- Untracked 상태의 파일이 "git add" 명령어로 Staged 된 상황
- Modified 상태의 파일이 "git add" 명령어로 Staged 된 상황
1번 상황은 새로 생성된 파일에 해당하며 이미 존재하는 파일이 수정되면 2번에 해당한다.
생성된 파일은 아래의 그림에서 Staged -> Unmodified -> Modified 상태가 반복된다. "git push" 명령어 수행 시 Unmodified 상태의 파일이 Remote repository에 등록된다.

파일 상태 확인

현재 Working directory의 파일 상태는 아래와 같은 명령어로 확인할 수 있다.
git status
첫 번째 줄에서 현재 main branch에서 작업 중인 것을 알 수 있고,
두번째 줄에서 원격 저장소 origin의 main branch와 동기화 되어 있는 상태임을 식별할 수 있다.
"Changes to be committed :"
위의 파일들은 현재 "git add" 명령어로 stage area에 등록된 staged 상태에 있으며 commit할 준비가 완료된 변경 사항들이다. "a.txt" 파일은 수정된 파일이며 "new2.txt" 파일은 새로 생성된 파일임을 알 수 있다.
git restore --staged <파일 이름>
위의 명령어로 stage area에서 제거할 수 있다.
"Untracked files :"
위의 파일들 즉, "new.txt" 파일은 아직 Tracked 되지 않은 파일로 commit에 포함시킬려면
git add <파일 이름>
위의 명령어로 stage area에 등록하여야 한다.

'Git' 카테고리의 다른 글
| [Git] Remote repository 업로드 (push) (1) | 2024.11.02 |
|---|---|
| [Git] stage area 등록 및 제거 (add, rm & reset & restore) (0) | 2024.11.02 |
| [Git] Git 동작 흐름 (Workflow) (1) | 2024.11.02 |
| [Git] 이슈(Issues) 설정과 CLI 확인 (0) | 2024.11.02 |
| [Git] 커밋(Commit)과 커밋 메세지(Commit message) (0) | 2024.11.02 |