git

#7 깃(Git) - unmodified, modified, staged

에이블디 2021. 11. 9. 22:37

안녕하세요 에이블디입니다!

 

지난 시간에 이어서 오늘도 파일의 상태에 대해 조금 더 알아볼까 해요!

 

지난시간에 한 번이라도 버전을 만들었던 파일은 tracked 상태가 된다고 한 것, 기억나시나요?

tracked 상태인 파일은 깃 명령으로 파일 상태를 확인하면 현재 작업 트리에 있는지, 아니면 스테이지에 있는지 등 더 구체적인 상태를 알려주는데요, 이번 시간에는 깃의 커밋 과정 중에서 tracked 파일의 상태가 어떻게 바뀌는지 확인해 보겠습니다.

 

지난 시간에 abled.txt라는 파일을 수정하고 abledStudent.txt라는 파일을 새로 생성하여 커밋까지 마친 것 기억나시죠?

 

다시 한번 깃의 상태를 살펴봅시다.

명령어는 기억나시죠?

$ git status

'working tree clean'이라는 문구가 보이시나요?

현재 작업 트리에 있는 모든 파일 상태가 수정되지 않은 상태(unmodified)라는 의미입니다.

 

그럼 이번엔 지난 시간에 새로 만들었던 abledStudent.txt 파일을 수정해 볼까요?

abledStudent.txt 파일을 열고 "Joker"를 추가한 후에 파일을 저장합니다.

$ vi abledStudent.txt

다시 깃의 상태를 확인해 볼까요?

이쯤 되면 깃 상태를 확인하는 명령어는 익숙 해 지셨죠?

abledStudent.txt 파일이 수정되었다고 하고 'Changes not stage for commit'이라는 메시지가 보이네요?

이 메시지는 파일이 수정만 된 modified 상태를 의미합니다.

 

수정한 파일을 스테이지에 올리고 깃의 상태를 확인해 볼까요?

명령어 다들 아시죠?

이젠 익숙해지셔야 합니다!

$ git add abledStudent.txt
$ git status

메시지가 달라졌네요?

살펴보자면 커밋할 변경사항이 있다고 하네요?

'Changes to be committed'라는 메시지가 나타나면 커밋 직전 단계(staged 상태)입니다.

 

이번엔 스테이지에 있는 abledStudent.txt 파일을 커밋하고 깃의 상태를 확인해 볼까요?

$ git commit -m "add Joker"
$ git status

깃의 상태를 보니 커밋할 것이 없고 워킹 트리가 깨끗하다고 나오네요?

abledStudent.txt 파일의 상태가 수정한 것이 없는 unmodified 상태로 돌아간 것을 의미합니다.

 

오늘은 깃에서 버전을 만드는 과정에서 어느 단계에 있는지에 따라 달라지는 파일 상태를 살펴보았는데요!

파일의 상태 변화를 그림으로 정리한다면 다음과 같이 표현할 수 있습니다.

다음 시간엔 깃을 사용할 때 소소한 팁을 포스팅해 보도록 할게요!

 

우리 다음 시간에 또 만나요!