git

#5 깃(Git) - 커밋(commit) 상세히 알아보기.

에이블디 2021. 11. 4. 18:48

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

 

오늘은 지난 시간에 이어 커밋에 대해 조금 더 자세히 알아보고자 합니다.

그럼, 바로 시작해 볼까요?

 

버전을 관리하기 위해서는 지금까지 어떤 버전을 만들었는지 알 수 있어야겠죠?

또 버전마다 어떤 차이가 있는지도 파악할 수 있어야 합니다.

이번 시간에는 어떤 버전을 만들었는지, 또 버전마다 어떤 차이가 있는지 알아보는 방법에 대해 알아보겠습니다.

 

git log

지난 시간에 git log라는 명령어를 입력했던 것 기억나시나요?

git log는 지금까지 커밋했던 기록을 살펴보기 위한 명령어인데요, 다시 한번 git log 명령을 입력해보고 명령을 입력했을 때 나타나는 화면을 더 자세히 살펴보겠습니다.

$ git log

1. commit이라는 항목 옆에 영어와 숫자로 된 긴 문자열이 보이시죠? 이것을 커밋 해시(commit hash), 또는 깃 해시(git hash)라고 하는데 커밋을 구별하는 아이디라고 생각하시면 됩니다.

2. 커밋 해시 옆에 있는 (HEAD -> master)가 보이시죠? 이건 이 버전이 가장 최신이라는 표시입니다.

3. Author 항목은 버전을 누가 만들었는지 알려주는 항목입니다.

4. Date 항목은 버전이 언제 만들어졌는지 알려주는 항목입니다.

 

그리고 git log 명령을 입력했을 때 나오는 정보를 묶어 '커밋 로그(commit log)'라고 합니다.

 

git diff

큰 규모의 수천, 수만 줄짜리 소스 코드를 수정한 다음 최근 버전과 비교해서 어떤 부분이 다른지 찾아야 한다면 어떨까요?

생각만 해도 끔찍하지 않나요?

커밋 메시지를 참고해도 구체적으로 어디가 어떻게 수정되었는지 파악하기가 쉽지 않겠죠?

이럴 때 git diff 명령을 사용하면 작업 트리에 있는 파일과 스테이지에 있는 파일을 비교하거나, 스테이지에 있는 파일과 리포지토리에 있는 최신 커밋을 비교하여 수정한 파일을 커밋하기 전에 검토할 수 있습니다.

 

지난번에 만들고 수정했던 abled.txt 파일을 수정하여 지난 시간에 커밋까지 완료했던 가장 최신의 버전과 어떻게 다른지 확인해 보겠습니다.

 

vi로 abled.txt를 여시고 'Jayden'을 'Hello Jayden!'으로 수정한 후 저장해주세요.

$ vi abled.txt

수정전의 abled.txt 화면입니다.

 

수정 후의 abled.txt 화면입니다.

 

vi로 텍스트 문서를 열어 'i'를 입력하여 입력상태에서 수정한 후 'ESC' 키를 누르고 ':wq'를 입력하여 저장하고 종료하시는 것 잊지 않으셨죠? 다음 시간부터는 텍스트 문서 수정하는 방법은 생략하도록 할게요!

 

파일이 수정되었으니 깃의 상태를 확인해 볼게요!

깃의 상태를 확인하는 명령어 까먹지 않으셨죠?

$ git status

상태를 보니 abled.txt파일이 수정되었고, 아직 스테이징 상태가 아니라고 나오는 걸 확인할 수 있네요!

 

그럼 방금 수정한 abled.txt 파일이 리포지토리에 있는 최신 버전의 abled.txt와 어떻게 다른지 확인해 볼까요?

이제 git diff 명령을 사용해 봅시다!

$ git diff

여러 정보가 있지만 이번 시간에서는 필요한 부분만 보고 넘어갈게요!

두 개의 빨간 박스 중 위의 첫 번째 빨간 박스 안에 '-Jayden'은 최신 버전과 비교할 때 abled.txt 파일에서 'Jayden'이 삭제되었다는 의미입니다.

아래의 두 번째 빨간 박스에 나타난 '+Hello Jayden!'은 abled.txt 파일에 'Hello Jayden!'이라는 내용이 추가되었다는 의미입니다.

 

오늘은 이렇게 커밋로그의 상세한 의미와 작업 트리에서 수정한 파일과 최신 버전을 비교하는 방법을 알아보았습니다!

 

다음 시간에 깃에 대해 더 많이 알아보도록 해요!