지난 포스트에서 untracked와 tracked 상태를 알아보았습니다. 그리고 tracked 상태는 커밋 진행과정에 따라 세부적인 상태로 나뉜다고 했었는데 이번 포스트에선 그 상태들에 대해서 알아보도록 하겠습니다.
unmodified
, 즉 수정되지 않은 상태를 의미합니다. 커밋을 한 후 추가적인 수정사항이 없는 파일들은 모두 이 상태를 갖습니다. 작업공간에서 git status 명령을 입력했을 때 다음과 같이 'nothing to commit, working tree clean'이라는 메세지가 출력되면 작업 트리의 모든 파일들이 unmodified 상태를 의미합니다.
modified
는 파일이 수정된 상태입니다. 수정이 되고 스테이징 되기 이전의 상태임(즉, 파일을 수정만 한)을 기억해야합니다.
현재 작업 공간에 다음과 같은 파일이 있는데 test01.txt를 수정해보도록 하겠습니다.vim으로 아무렇게나 내용을 수정한 후 저장하고 git status 명령을 쳐보면 다음과 같이 출력됩니다.빨간색으로 파일명 앞에 modified
라는 단어가 보이시나요? 이것이 이 파일이 현재 modified 상태임을 알려주고 있습니다.
마지막 상태변화는 staged
입니다. 이름에서 알 수 있듯이 스테이지와 관련이 있을 것 같습니다.
이 상태는 스테이징한 파일의 상태입니다. 다시 말하자면 git add 명령을 통해 스테이징되어있는 상태라고 말할 수 있습니다.modified 상태가 초록색으로 변한것이 보이시죠? 이 파일 상태가 staged
상태를 의미합니다.
이렇게 알아본 tracked 파일의 세가지 세부 상태 변화를 그림으로 보면 다음과 같습니다.