
Repository는 사용자의 파일이 위치한, .git이 주시하고 있는 폴더다.
.git은 Repository 내의 파일들의 변경 사항들을 추적한다.
커밋은 코드의 변화를 기록하고 싶을 때 사용된다.
코드에서 큰 수정이 있었거나, 10개가 변화하더나, 기능이 변하는 등 (회사마다 기준은 다르지만) 코드가 변화하는 시점을 기록해두고 싶을 때 commit을 사용한다.
변화 이후에 에러가 날 경우, 변화 이전 시점으로 되돌릴 수 있다.
Git workflow(Git Area)는 기본적으로 3단계로 나눠져 있다.


staging area
변경 사항이 있는 파일들을 선택해 commit 할 수 있도록 지정하는 곳. 어떤 파일들이 commit 될 건지, 어떤 것들이 추가가 될 건지, 모든 수정 사항들은 staging area에 표시된다.

repository area
파일들이 commit 된 이후의 공간으로, 파일들의 변경 사항에 대해 스냅샷을 가지고 있다. staging area를 거쳐 만들어진 버전들이 저장된 곳이다.
수정사항, 시간, 누가 수정했는지 등 모든 변화들이 git에 추가되고, 이를 통해 git은 변경 사항들을 추적할 수 있게된다.