Git File Status LifeCycle

도도묵·2023년 1월 14일
1

GIT

목록 보기
2/2

git을 통해 소스를 받고 올리는 과정을 반복하다보면 커멘드창 또는 소스 컨트롤러에서 modified, unmodified나 untracked 같은 단어들을 종종 접하게 돼요.

(source control 창에서 test.js 파일이 현재 Untracked 상태인 모습)

모든 개발 언어의 flow는 정해진 생명주기를 갖는것처럼, 내가 개발하고 저장하는 파일들 역시 각자 상황에 맞는 생명주기를 갖고 있어요. 이번 포스팅에서는 git의 파일 상태 생명주기는 어떻게 이루어지는지 공부해볼까 해요.

📌 File Status LifeCycle

git에서 관리되는 파일들은 총 4가지의 다른 상태를 가져요.

Untracked: Git이 관리하지 않는 상태
UnModified: Git이 관리하는 수정되지 않은 상태
Modified: 수정된 git이 관리하는(UnModified) 파일
Staged: Staging Area에 올라간 수정된(Modified) 파일

  최초 로컬 환경에 파일을 만들게 되면 해당 파일은 Untracked 상태가 돼요. 이 파일의 존재여부는 오직 내 로컬에서만 알기 때문에 git은 이 파일이 어떤 내용을 담고 있는지 알 수 없기 때문에 Untracked(추적되지 않는) 상태가 되는거에요.
 생성된 이 Untracked 파일들은 아직 어떠한 과정도 거치지 않았기 때문에 Working Directory에 존재하겠죠?


  Working Directory에 존재하는 파일들은 원격 저장소로 가기 전 git add 를 통해 staging area에 모이게 돼요. 이때 이 Staging Area에 올라온 파일들의 상태는 Untracked에서 Staged 상태로 변경돼요.

(staged상태로 변경된 test.js파일. restore 명령을 통해 staged된 파일들을 working directory로 내릴수 있다).


staged 상태의 파일들은 commit을 통해 git repository로 이동되고 이때부터 해당 파일들은 git이 관리하는 수정되지 않은 Unmodified 상태가 돼요.

이 후 해당 파일들을 수정하고 다시 Source Control 창에 가보면

Modified 상태로 변경되어 있는 것을 확인 할 수 있답니다.

자료출처:
https://git-scm.com
profile
나만의 성장 일기

0개의 댓글