깃에서 파일의 상태 변화

파일 상태의 변화 (라이프사이클)

|작업|명령어|작업 디렉터리
working directory|스테이지
stage|저장소
repository|파일 상태
file status| |—|—|—|—|—| |초기화|git init|.git|||-| |파일 생성||.git, test.file|||untracked| |스테이지에 올림|git add|.git, test.file|test.file||staged| |커밋|git commit|.git, test.file||test.file|unmodified| |파일 수정||.git, test.file(수정됨)||test.file|modified| |수정 파일 스테이지에 올림|git add|.git, test.file(수정됨)|test.file(수정됨)|test.file|staged| |커밋|git commit|.git, test.file(수정됨)||test.file(수정됨)|unmodified`|

작업에 따른 파일의 상태 변화

(1) 파일을 처음 생성하면 추적되지 않음(untracketd) 상태가 됨.
(2) 파일을 스테이지에 올리면 스테이지에 올라옴(staged) 상태가 됨.
(3) 스테이지에 올린 사항을 커밋하면 수정되지 않음(unmodified) (또는 수정 전) 상태가 됨.
(4) 해당 파일이 커밋된 뒤 수정하면 수정함(modified) 상태가 됨. 파일이 추적되면서 저장소와 다른 변경사항이 있는 상태.

Reference

UNIX시스템 - 김희천,김진욱 저