devlog

[Git] Git 3가지 상태 본문

Git

[Git] Git 3가지 상태

bellaah 2019. 8. 24. 14:13

Git에서 파일을 관리할 때 3가지의 상태가 존재한다. 그 상태와 의미에 대해 알아보자.

 

1. Git File 상태

  1. Committed : 데이터가 로컬 데이터베이스에 안전하게 저장됐다는 것을 의미한다.
  2. Modified : 수정한 파일을 아직 로컬 데이터베이스에 커밋하지 않은 것을 말한다.
  3. Staged : 현재 수정한 파일을 곧 커밋할 것이라고 표시한 상태를 의미한다.

 

2. Git Area

이 세 가지 상태는 Git 프로젝트의 세 가지 단계와 연결되어 있다. 아래의 그림을 보며 Git directory, working directory, Staging Area 이 세가지의 영역을 알아보자.

Git directory는 Git이 프로젝트의 메타데이터와 객체 데이터베이스를 저장하는 곳을 말한다. 다른 컴퓨터에 있는 저장소를 Clone 할 때 Git directory가 만들어진다.

working directory는 프로젝트의 특정 버전을 Checkout한 것이다. 그리고 file을 수정하면 그 파일은 modified 상태가 된다.

변경 된 파일을 local repo에 commit 하기 전에, git add 명령어로 staging area영역으로 올리는데 이 때, 파일은 staged 상태가 되었다고 할 수 있다. 이 상태에선 commit을 할 수 있으며 commited 상태가 되면 local repo에 commit 되었다고 할 수 있다.

단순히 파일을 변경할 경우, working directory 영역에서 modified 상태가 되며 commit을 할 수 없다. git add 명령어로 staged 상태로 변경해야만 commit이 가능하다.

Git으로 하는 일을 적어본다면 아래와 같다.

  • working directory에서 파일을 수정한다.
  • Staging Area에 파일을 Stage해서 커밋할 스냅샷을 만든다.
  • Staging Area에 있는 파일들을 커밋해서 Git 디렉토리에 영구적인 스냅샷으로 저장한다.

'Git' 카테고리의 다른 글

[Git] git 대소문자 변경하기  (0) 2019.09.15
[Git] Git이란 무엇인가?  (0) 2019.08.12
Comments