공부방/git

[Git] Git 3가지 영역 (Staging Area) - Commit 이해하기

daram 2022. 12. 20. 18:52


Staging Area

Commit을 할 때, 총 3가지 영역을 바탕으로 작동합니다.

  • Working Directory : 내가 작업하고 있는 프로젝트의 디렉토리
  • Staging Area : 커밋을 하기 위해 $ git add 명령어로 추가한 파일들이 모여있는 공간
  • Repository : 커밋들이 모여있는 저장소

열심히 코드를 작성하다가 커밋을 해야하는 순간이 오면 git add .를 통해 커밋할 파일들을 추가합니다.

이 파일은 바로 Repository에 올라가지 않고, Staging Area에 올라가게 됩니다.

 

Staging Area에 추가한 파일들을 Commit을 한다면 최종적으로 저장소(Repository)로  저장되게 됩니다.

 


File Status LifeCycle

File 관점에서는 다시 4가지 단계로 나뉜다.

  • Untracked : Working Directory에 있는 파일이지만 Git으로 버전관리 하지 않는 상태
  • Unmodified : 신규로 파일이 추가되었을 때, new file 상태와 같다. ( $ git add 상태 )
  • Modified : 파일이 추가된 이후 해당 파일이 수정되었을 때의 상태
  • Staged : Staging Area에 반영된 상태