git

#6 깃(Git) - Tracked와 Untracked

에이블디 2021. 11. 8. 15:38

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

 

이번 시간에는 작업 트리에 있는 파일의 상태에 대해 알아볼 텐데요!

tracked와 untracked 상태에 대해 알아보도록 하겠습니다!

 

지난 시간에 만들었던 abled.txt파일을 열어 'Bye Jayden!'를 추가하고 저장해줍니다.

 

$ vi abled.txt

이번에는 albedStudent.txt라는 새로운 파일을 만들어 'YAMA', 'Chalie', 'Lucas'를 추가해 주시고 저장해 주세요.

 

$ vi abledStudent.txt

이렇게 되면 albed.txt와 abledStudent.txt 파일 모두 작업 트리에 있겠죠?

이제 git status 명령을 사용해 어떤 상태인지 확인해 봅시다.

$ git status

지난 시간에 커밋했던 abled.txt 파일은 'Changes not staged for commit'이라고 되어 있는 걸 볼 수 있는데요, 변경된 파일이 아직 스테이지에 올라가지 않았다는 의미입니다.

그리고 파일 이름 앞에 'modified'라고 되어 있는 게 보이시죠? 이것으로 abled.txt 파일이 수정되었다는 것을 알 수 있습니다.

이렇게 깃은 한 번이라도 커밋을 한 파일의 수정 여부를 계속 추적하게 됩니다.

이처럼 깃이 추적하고 있는 파일을 tracked 파일이라고 합니다.

이번엔 새로 만든 abledStudent.txt 파일을 볼까요?

파일 앞에는 아무것도 없고 바로 위에는 'Untracked files'라고 되어 있죠?

abledStudent.txt 파일은 한 번도 깃에서 버전 관리를 하지 않았기 때문에 수정 내역을 추적하지 않습니다.

그래서 untracked 파일이라고 합니다.

 

그럼 이제 수정했던 abled.txt 파일과 새로 만든 abledStudent.txt 파일을 모두 스테이징 시켜볼까요?

지난 시간에 했던 것처럼 두 파일 모두 git add 명령을 사용해서 스테이징 시켜봅시다.

$ git add abled.txt
$ git add abledStudent.txt

 

두 파일을 모두 스테이징 했다면 다시 한번 깃의 상태를 살펴보도록 합시다!

명령어는 아시죠?

수정된 abled.txt는 'modified'라고 표시되고, 새로 만든 abledStudent.txt는 'new file'이라고 표시되는 걸 볼 수 있습니다.

그리고 tracked 파일과 untracked 파일 모두 스테이지에 올라온 것을 확인할 수 있습니다.

 

이제 커밋을 해 볼까요?

이번 커밋에서는 abled.txt를 수정한 내용과 새로 만든 abledStudent.txt의 내용이 모두 포함되어 커밋됩니다.

커밋 메시지와 함께 커밋하고 로그를 확인해 보도록 합시다.

$ git commit -m "abled.txt - bye Jayden, new file add abledStudent"
$ git log

"abled.txt - bye Jayden, new file add abledStudent"라는 메시지를 붙인 커밋이 보이죠?

그런데 각 커밋이 어떤 파일들과 관련된 것인지 알기 힘든 것 같아요.

 

커밋에 관련된 파일까지 함께 살펴보려면 git log 명령에 --stat 옵션을 사용해주면 됩니다.

바로 실습해볼까요?

$ git log --stat

가장 최근의 커밋부터 순서대로 커밋 메시지와 관련 파일이 나열됩니다.

"abled.txt - bye Jayden, new file add abledStudent"커밋은 abled.txt, abledStudent.txt 파일과 관련되어 있고, "Add Jayden"는 abled.txt 파일과 관련되어 있다는 것을 확인할 수 있습니다.

 

오늘은 이렇게 tracked와 untracked에 대해 알아보았습니다.

 

다음 시간에는 더 다양한 파일의 상태에 대해 알아보도록 해요!

 

그럼 우리 다음시간에 만나요!