본문 바로가기
프로그래밍 ( Programming )/깃허브 (GitHub)

9. Git 로그 다뤄보기

by Jayce_choi 2021. 11. 21.
반응형

이번 글에서는 Git 로그와 관련한 내용을 적어보겠습니다. 

log라는 의미는 우선 통나무라는 의미도 있지만 소프트웨어 세상에서는 기록이라는 의미로 많이 사용됩니다. Git에서의 Log는 우리가 commit을 수행할 때 작성했던 comment들에 대한 것으로 해당 메시지들의 모음을 우리가 잘 관리함으로써 다른 사람이 보고 프로젝트에 어떠한 진행상황이 있었는지를 구체적으로 시점과 더불어서 알 수 있게 됩니다. 

 

Github에서 commit log 기록 확인해보기 

Github에서 Commit 기록을 보는 것은 매우 간편합니다. Commit 기록을 보고 싶은 Repository에 'commits' 버튼을 클릭함으로써 2번째 그림과 같이 모든 기록을 예쁘게 볼 수가 있는데 해당 Commit마다의 해쉬값과 해당 시점에서의 변화들을 클릭해서 자세히 관찰할 수가 있습니다. 

Commits 버튼
Commits 버튼을 누른 후

 

 

Git을 이용하여 기록 확인하기 

이제 로컬에서 Git log를 살펴보겠습니다. 먼저 기존에 로컬에 존재하던 Repository를 이용하는 것도 좋겠지만 Github에서 Repository를 clone 해서 Git log를 보도록 하겠습니다. 

git clone이 받아져서 .git폴더가 존재하는 곳에서 git log 명령어를 실행하면 2번째 사진과 같이 위에서부터 아래로 최신순으로 모든 commit들을 확인할 수가 있습니다. 

$ git log

*commit 정보가 많이 나오기 때문에 Enter를 눌러서 줄 바꿈으로 기록들을 확인 가능합니다.
*git log에서 나오기 위해서 q 버튼을 눌르면 되겠습니다. 


 

다음은 좀더 다양한 옵션들에 대해서 알아보겠습니다. 

$ git log --stat

git log에 --stat 옵션을 사용함으로써 몇 개의 코드가 changed가 되었으며 몇 줄의 코드가 추가되었으며 삭제가 되었는지를 보여줄 수가 있습니다.


 

다음은 graph 옵션입니다. Graph를 이용하여 branch와의 병합 정보를 시각적으로 보기 좋게 표현을 해주는 기능입니다. 현재는 merge 된 기록이 없기 때문에 한 줄로 표현이 되어서 나타나지만 merge 기록이 있을 경우 2번째 사진과 같이 기록 앞쪽에 그림으로 표현이 되어서 나타나게 됩니다. 

$ git log --graph

Graph 명령어 실행 후
graph 결과, 출처: https://stackoverflow.com/questions/1057564/pretty-git-branch-graphs


 

다음은 -p 옵션입니다. p는 patch의 줄임말로써 마찬가지로 수정된 내역들 (added된 위치, 제거 및 updated 된 lines)에 대해서 보여주게 됩니다. 그중에서 하단의 명령어는 뒤에 -3을 이용하여 3개의 commit 기록만 보는데 추가적으로 git log 보다는 좀 더 구체적인 사항과 함께 볼 수가 있는 명령어입니다.  

$ git log -p -3


 

다음은 commit 내용들을 간단하게 한줄로 볼 수 있는 방법이 존재합니다.  --pretty옵선을 사용함으로써 우리가 원하는 정보만 간략하게 볼 수가 있는데 예시로 oneline이라는 옵션을 추가로 붙이면 하단의 사진과 같이 간략하게 commit 정보들만 빠르게 볼 수가 있습니다. 

$ git log --pretty=oneline


 

추가적으로 더 많은 옵션들을 추가할 수가 있습니다. 예를 들어서 -format 다음에 특정한 포맷을 적어줄 수가 있습니다. 
%h (해시값) -> %an (작성자)가 첫 번째 추가 포맷이었으며, %ar (작성 날짜) : %s (커밋 주제)가 두 번째 포맷이었습니다. 그리고 마지막으로 --graph를 이용함으로써 graph와 함께 출력을 하겠다는 명령어가 완성되었습니다. 

$ git log --pretty-format:"%h -> %an, %ar : %s" --graph

실행 결과


추가적인 내용들은 하단의 링크에서 더 참조를 하시면 더 풍부하게 알 수 있습니다^^

 

Git - pretty-formats Documentation

If the commit is a merge, and if the pretty-format is not oneline, email or raw, an additional line is inserted before the Author: line. This line begins with "Merge: " and the hashes of ancestral commits are printed, separated by spaces. Note that the lis

git-scm.com


이번 글에서는 Git log를 다루기 위한 여러 명령어들을 다루어보았습니다.

혹시나 틀린 점 있거나 개선해야 할 부분이 있다면 댓글로 작성해주시면 감사하겠습니다!!

반응형

댓글