본문 바로가기

Git

[Git] 파일의 상태(status)

반응형

Git으로 관리되는 파일은 일종의 '상태'라는 걸 가집니다.

크게는 Untracked 상태와 Tracked 상태를 가지고, Tracked 상태는 다시 Staged 상태, Unmodified 상태, Modified 상태를 가집니다.

각 상태를 순서대로 설명드리겠습니다.

[1] Untracked 상태

깃은 워킹 디렉터리에 파일을 추가하거나 수정했다고 해서 이를 자동으로 관리해주지 않습니다. 워킹 디렉터리에 새로 생성된 파일은 모두 'Untracked', 우리말로 '추적되지 않음' 상태입니다. 이 파일을 관리하려면 깃에 추적하라고 통지해 주어야 합니다. 통지해주는 방법이 바로 'git add'입니다. 파일을 새로 생성하고 그 파일을 한 번도 git add 해주지 않았다면 untracked 상태입니다.

 

[2] Tracked 상태

파일이 Git에 의해 그 변동사항이 추적되고 있는 상태입니다. 이 상태는 다시 그 특성에 따라 3가지 상태로 나뉩니다. 하나씩 설명할게요.

 

1) Staged 상태

파일의 내용이 수정되고나서, staging area에 올라와있는 상태를 Staged 상태라고 합니다. 새로 생성한 파일에 내용을 쓰고 git add를 해주거나, 한 번 이상 커밋에 포함됐었던 파일이라도 내용을 수정하고 git add를 해주면 staged 상태입니다.

2) Modified 상태

Tracked 상태인 파일이 수정되면 스테이지는 파일 상태를 modified 상태로 변경합니다. 그러면 수정된 파일은 스테이지 영역에서 잠시 제외됩니다. 깃은 수정 여부만 체크해 주기 때문에 modified 상태로 변경된 파일은 스테이지로 재등록해야 합니다.

3) Unmodified 상태

Unmodified 상태는 Tracked 상태이면서 스테이지에서 한 번도 수정하지 않은 원본 상태를 의미합니다. 스테이지에 등록한 후 어떤 수정도 하지 않았다면 Unmodified 상태입니다. 참고로 unmodified 상태인 파일들은 재등록하지 않아도 staging area에 남아있습니다.

그림으로 요약 정리하면 다음과 같습니다.

 

반응형

'Git' 카테고리의 다른 글

[Git] 커밋 파헤치기1- 커밋 해보기  (0) 2022.01.14
[Git] 다른 사람에게 git push 권한 부여  (0) 2022.01.14
[Git] GitHub에 파일 옮기기  (3) 2022.01.14
[Git] Git의 3가지 작업 영역  (0) 2022.01.14
[Git] 깃과 깃허브  (0) 2022.01.14