Git은 내부적으로 크게 3가지 종류의 작업 영역을 두고 동작합니다.
1. working directory
2. staging area
3. repository
첫 번째 작업 영역인 working directory는 작업을 하는 프로젝트 디렉터리를 말한다.
두 번째 작업 영역인 staging area는 git add를 한 파일들이 존재하는 영역이다.
커밋을 하게되면 staging area에 있는 파일들만 commit에 반영된다.
세 번째 작업 영역인 repository는 working directory의 변경 이력들이 저정되어 있는 영역이다. (커밋들이 저장되는 영역)
Git에서 커밋을 할 때 동작 구조를 그림으로 살펴보면
git add : working directory에서 staging area로 올리는 명령어