버전을 관리하기 위해서는 지금까지 만들어진 버전이 어떤 것이 있는지 알 수 있어야 한다. 또한 각 버전별 차이점으로는 어떤 것이 있는지 파악할 수 있어야 한다. 앞선 포스팅에서 깃으로 수정한 파일의 버전을 만들어 봤으니 이제 커밋의 내용을 확인해 보자.
목차
- 커밋 기록 자세히 보기 - git log
- 변경 사항 확인 - git diff
커밋 내용 확인하기
1. 커밋 기록 자세히 보기 - git log
앞으로 깃을 사용하다 보면 지금까지 커밋했던 기록을 살펴보기 위한 명령어인 git log를 자주 사용하게 될 것이다. git log 명령을 입력하면 지금까지 만든 버전을 확인할 수 있고, 각 버전마다 설명도 함께 확인이 가능하다. git log 명령을 입력했을 때 나타나는 화면을 살펴보면 아래와 같다.
먼저 commit 이라는 항목 옆에 영문과 숫자로 된 문자열이 나타나는데 커밋 해시(commit hash) 또는 깃 해시(git hash)라고 한다. 이는 커밋을 구별하는 아이디라고 생각하면 된다. 커밋 해시 옆에 (HEAD -> master)라는 문구가 있다면 이 버전이 가장 최신이라는 표시다. Author 항목에는 누가 해당 버전을 만들었는지, Date 항목에는 해당 버전이 언제 만들어졌는지가 나타난다. 그리고 그 아래에 작성자가 기록한 커밋 메시지가 나온다. 이렇게 git log 명령을 입력했을 때 나오는 정보를 묶어 '커밋 로그(commit log)'라 부른다.
2. 변경 사항 확인 - git diff
간단한 소스코드를 가진 프로그램일 짤 때는 큰 문제가 없다. 하지만 만약 큰 규모의 프로그램을 짤 때 수천 혹은 수만 줄짜리 소스코드를 수정하고, 저장소에 있는 최신 버전과 비교하며 어떤 부분이 다른지 찾아야 한다면 커밋 메시지를 참고한다고 해도 구체적으로 어디를 어떻게 수정했는지 파악하기가 어렵다.
이런 상황에서 git diff 명령을 사용하면 작업 트리에 있는 파일과 스테이지에 있는 파일을 비교하거나, 스테이지에 있는 파일과 저장소에 있는 최신 커밋을 비교해서 수정한 파일을 커밋하기 전에 검토할 수 있다.
앞선 포스팅들을 기준으로 현재 git-master 디렉토리의 hello.txt 파일에는 숫자 1과 2 이라는 내용이 입력되어 있고, 저장소에는 2개의 버전이 저장되어 있다.
이제 빔에서 hello.txt 파일을 열고 기존의 내용 중 숫자 '2'를 'two'로 변경한 후 저장한다.
그리고 git status 명령을 사용해 깃의 상태를 확인하면 아래와 같이 hello.txt 파일이 수정됬지만 아직 스테이징 상태는 아니라고 나온다.
그럼 방금 수정한 hello.txt 파일이 저장소에 있는 최신 버전의 hello.txt와 어떻게 다른지 확인하기 위해 git diff 명령을 사용하면 아래와 같은 내용을 확인할 수 있다.
위 그림 중 하단에 위치한 '-2'는 최신 버전과 비교했을때 hello.txt. 파일에서 숫자 '2'가 삭제됬다는 뜻이다. 그리고 '+two'는 hello.txt 파일에 'two'라는 내용이 추가됬다는 뜻이다.
이렇게 작업 트리에서 수정한 파일과 최신 버전을 비교하고, 수정한 내용으로 다시 버전을 만들려면 앞서 포스팅한 내용과 같이 스테이징 및 커밋을 진행하면 된다. 하지만 수정한 내용을 버리려면 git checkout 명령을 사용해 수정 내용을 취소한다. (자세한 내용은 추후 설명)
참고: 책 '지옥에서 온 문서 관리자 깃&깃허브 입문'의 내용
'Programing > Git and GitHub' 카테고리의 다른 글
[Git으로 버전 관리] 2. 버전 만들기 (0) | 2020.04.07 |
---|---|
[Git으로 버전 관리] 1. 깃 저장소 만들기 (0) | 2020.04.02 |
[Git 시작] 3. 리눅스(Linux) 명령 연습하기 (0) | 2020.04.01 |
[Git 시작] 2. Mac OS에 깃 설치 및 환경 설정 (0) | 2020.03.31 |
[Git 시작] 1. 깃(Git) 이란? (0) | 2020.03.30 |