프로젝트를 git 으로 관리하기 시작하면 모든 파일들은 4가지 상태(life cycle)가 된다.
untrackedUnmodifiedModifiedStaged
추적(버전관리)되지 않는 파일을 의미한다. git 으로 관리하는 프로젝트에서 Untracked 의 상태를 갖는 파일은 보통 새로 만들어진 파일을 의미한다. 구태여 Untracked 상태로 내버려둘 필요가 없기 때문이다. 만약 해당 파일을 추적하고 싶지 않다면 .gitignore 를 이용한다.
추적 되고 있는 파일이면서 마지막 커밋을 기준으로 아직 수정이 되어있지 않은 상태다. 해당 상태는 git status 명령어를 입력해도 아무것도 볼 수 없다.
추적 되고 있는 파일이 직전 커밋을 기준으로 수정이 되고 새롭게 stage 로 올라가지 않은 상태.
추적되고 있지 않은 파일을 추적하기 위해 또는 추적 되고 있지만 변경 사항이 있을 때 add 명령어를 통해 Staged 상태로 만든다. Staged 되어있는 상태에서 commit 이 되면 해당 파일의 상태는 Unmodified 가 된다. commit 가 된다는 것은 버전을 새롭게 한다는 것을 의미한다. git log 명령어를 입력하면 commit 이력을 확인할 수 있다.
위 4가지 상태를 이해하고 기본 명령어 및 사용법을 알아보자.
init
git 으로 버전관리를 시작한다.add
Untracked 파일을 Staged 상태로 만든다.Modified 파일을 Staged 상태로 만든다.