모든 Git 포스팅은 Git 기본 개념 포스팅에 의존합니다. Git을 설치하고 작업 디렉토리, 스테이지, 저장소 개념을 잘 숙지하고 있다면 이 포스팅을 읽어나가는데 전혀 무리가 없습니다. 그러나 Git의 3가지 공간(작업 디렉토리, 스테이지, 저장소) 개념을 숙지하지 못했다면 선수 포스팅(여기)을 먼저 읽고 이 포스팅을 읽기 바랍니다.
git status
git status
git status 명령은 작업 디렉토리와 파일의 스테이지 영역의 상태를 나타냅니다. 즉, 파일의 상태들을 알 수 있습니다.
위와 같이, git status 명령어를 사용하여 파일들의 상태를 알 수 있습니다. 현재는 파일이 하나도 수정이 되지 않았음을 알 수 있습니다.
작업 디렉토리 파일의 분류
git status 명령을 잘 이해하려면, 반드시 작업 디렉토리 파일의 상태가 무엇이 있는지를 잘 숙지해야 합니다. 크게 "Untracked", "Tracked"로 나누어지는데 하나씩 알아보도록 하겠습니다.
Untracked Files
Untracked란 파일이 Git 저장소에는 있으나, Git에 의해 관리되고 있지는 않은 상태를 말합니다. 방금 새롭게 추가(생성)된 파일들이 대부분 Untracked 파일이며, Untracked 파일은 Git에 의해 관리를 받지 못하기에 Git으로 복구할 수 없습니다.
이떄 말하는 "추가"는 git add에 의한 스테이징을 말하는 것이 아니며, 파일 자체가 새롭게 "생성"되는 것을 말합니다.
git 로컬 저장소에 1.txt라는 파일이 생성되었습니다. 그리고 git status 명령어를 입력했을 때, 1.txt 파일은 Untracked 파일로 분류됨을 알 수 있습니다.
Tracked Files
Tracked란 현재 Git에 의해 관리를 받고 있는 상태를 의미합니다. Tracked File은 또 "Modified", "Unmodified", "Staged"로 나누어집니다.
Modified
Modfied는 말 그대로 파일이 수정된 상태입니다. 최근에 저장한 파일 상태와 달라졌음을 의미합니다.
1.txt 파일을 생성하고 git에 기록하여 저장되고 나서, 내용이 변경되었기에 modified에 1.txt 파일이 분류되었음을 알 수 있습니다.
Unmodified
Unmodified는 파일이 수정되지 않은 상태를 말합니다. 즉, 최근에 저장한 파일 상태와 동일함을 의미합니다.
아무 것도 변화되지 않은 이 상태가 바로 Unmodified 상태입니다.
Staged
Staged는 파일이 수정되고 저장되기 위하여 스테이지에 올라간 상태를 의미합니다. git add 명령어를 사용하면 파일이 스테이지로 올라가 Staged 상태로 변합니다.
Staged된 파일은 초록색으로 하이라이트 표시됨을 알 수 있습니다.