//log my lifestyle

git status 본문

Web/Git

git status

zici 2021. 8. 18. 22:30

필요한 작업을 효율적으로 할수 있도록 등장한 GIT 이라는 버전관리 시스템

git에는 내부적으로 크게 3가지 종류의 작업영역을 둔다 

  • working directory
  • staging area
  • respository

 

working directory는 작업을 하는 프로젝트 디렉토리

staging area 는 git add를 한 파일들이 존재하는 영역/ 커밋을 하게되면 이 영역에있는 파일들만 커밋에 반영

respository는 working directory의 변경이력이 저장되어있는 영역 

 

수정파일들을 바로 레퍼지토리에 보내면 편할것같은데 상황에따라 어느 파일은 수정전으로 반영하고싶은 경우도 있다고한다. 그래서 staging area를 중간선별작업이라고 생각하니 이해하기 쉬웠다.  

 


status

사진:  https://git-scm.com/book/ko/v2/Git의-기초-수정하고-저장소에-저장하기 

 

1. Untracked 상태

Untracked는 '추적되지 않고 있는'이라는 뜻이다

 

파일이 Git에 의해서 그 변동사항이 전혀 추적되고 있지 않는 상태로 예를 들어, 파일을 새로 생성하고 그 파일을 한 번도 git add 해주지 않았다면 이 상태에 있는것이다.

 

2. Tracked 상태

파일이 Git에 의해 그 변동사항이 추적되고 있는 상태

이 상태는 다시 그 특성에 따라 3가지 상태로 나뉜다

 

(1) Staged 상태

파일의 내용이 수정되고나서, staging area에 올라와있는 상태를 Staged(스테이징된) 상태

새로 생성한 파일에 내용을 쓰고 git add를 해주거나 한 번이라도 커밋에 포함됐었던 파일이라도 내용을 수정하고 git add를 해주면 이 상태이다.

(2) Unmodified 상태

현재 파일의 내용이 최신 커밋의 모습과 비교했을 때 전혀 바뀐 게 없는 상태이면 그 파일은 Unmodified(수정되지 않은, 변한 게 없는) 상태이다.

커밋을 하고 난 직후에는 working directory 안의 모든 파일들이 이 상태가 된다.

 

(3) Modified 상태

최신 커밋의 모습과 비교했을 때 조금이라도 바뀐 내용이 있는 상태면 그 파일은 Modified(수정된) 상태