더북(TheBook)

3.3.1 스테이지 = 임시 영역

스테이지는 워킹 디렉터리와 ‘실제로 저장하여 기록하는 공간’ 사이에 있는 임시 영역입니다. 깃은 워킹 디렉터리에서 작업이 끝난 파일을 스테이지로 잠시 복사합니다. 스테이지가 임시 영역이라고 해서 파일의 콘텐츠 내용을 직접 가지고 있지는 않습니다. 단지 커밋하려는 파일의 추적 상태 정보들만 기록합니다.

▼ 그림 3-16 스테이지는 커밋하려는 파일의 추적 정보만 기록

285553.png

이처럼 임시 영역인 스테이지를 별도로 운영하는 것은 커밋을 빠르게 처리하기 위해서입니다. ‘실제로 저장하여 기록하는 공간’인 저장소는 스테이지 영역에서 가리키는 파일 내용을 기반으로 변경된 차이점만 기록합니다.

파일들의 스테이지 상태는 status 명령어로 확인 가능합니다. 또는 깃의 git ls-files 같은 명령어로도 확인 가능합니다.

$ git status

$ git ls-files --stage

스테이지 영역에 등록된 파일들은 또 다시 stage 상태와 unstage 상태로 구분됩니다. 버전 관리에서 제외하고 싶은 파일이 있다면 .gitignore 파일에 등록합니다. .gitignore 파일은 3.5절에서 설명합니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.