글 작성자: juyoungit

git log

해당 저장소(Repository)의 commit 기록을 조회하고 그 정보를 출력 (출력 순서는 시간순)

아래와 같이 git을 사용하여 관리하고 있는 Working Directory 내에서 git log 명령을 입력하면 아래와 같이 지금까지 수행했던 commit의 기록들을 보여준다. 기록에는 40자의 문자열로 구성된 해당 commit을 나타내는 코드와 저자, commit날짜, commit message를 포함하여 출력 해준다. 여기서 각 commit을 나타내는 40자의 문자열로 구성된 문자열을 checksum 이라고 한다.

git log 명령은 다음과 같이 다양한 옵션들을 사용하여 다양하게 사용할 수 있다.

옵션 내용
git log --oneline 해당 저장소(Repository)의 commit 기록을 간략화하여 출력
git log --pretty commit 기록을 지정한 형식으로 출력 (형식을 사용자가 지정)
git log --graph 해당 저장소(Repository)의 commit 기록을 graph 형식으로 정리하여 출력
git log -p(숫자) 각 commit의 diff 결과를 보여줌, 숫자 옵션을 추가 시 최근 (숫자)개 만큼의 diff 결과만을 보여줌
git log --stat 각 commit에 대한 통계를 보여줌

 

git log --oneline

해당 저장소(Repository)의 commit 기록을 간략화 하여 출력

oneline 옵션을 사용하면 40자의 문자로 구성된 각 commit에 대한 checksum이 7자의 문자로 축소되고 그 옆에 commit message만을 출력하여 훨신 간략한 형태로 commit 기록에 대한 정보를 보여주는 것을 확인할 수 있다.

 

git log --pretty

commit 기록을 지정한 형식으로 출력 (형식을 사용자가 지정)

pretty 옵션은 사용자가 git log 명령에 대한 출력내용을 기본형식 이외에 다른 형식으로 볼 수 있도록 지원해주는 데 해당 옵션은 다양한 부가옵션들과 함께 사용함으로써 사용하자가 원하는 형태로 출력 형식을 지정할 수 있다.

pretty 옵션과 함께 사용하는 부가옵션

부가옵션 내용
oneline 각각의 commit에 대한 checksum과 commit 메시지를 한 줄로 출력
short 각각의 commit에 대한 checksum과 작성자, commit 메시지 출력
full 각각의 commit에 대한 checksum과 작성자, commit한 사람, commit 메시지 출력
fuller 각각의 commit에 대한 checksum과 작성자 / 작성일, commit한 사람 / commit한 시점, commit 메시지를 보여준다.
format 사용자가 출력의 형식을 직접 지정 (사용자가 지정한 형식으로 정보를 출력)

부가옵션을 입력하지 않고 --pretty 옵션만 사용하면 기본형식과 동일하게 출력되는 것을 확인할 수 있다.
부가옵션으로 oneline을 사용한 모습, 40자의 commit checksum과 commit 메시지가 함께 출력되는 것을 볼 수 있다.
부가옵션으로 short를 사용한 모습, 기본형태에서 Date가 빠진 모습이다.
부가옵션으로 full을 사용한 모습, commit checksum과 작성자, commit한 사람의 정보를 보여준다.
부가옵션 fuller를 사용한 모습, 각 commit에 대한 작성자와 작성시점, commit한 사람과 commit 한 시점에 대한 정보를 보여준다.

 

git log --graph

해당 저장소(Repository)의 commit 기록을 graph 형식으로 정리하여 출력

graph 옵션을 사용하면 나중에 branch를 사용했을 때 각 branch간의 관계에 대해서 시각적으로 한 눈에 볼 수 있는 아주 유용한 옵션이다. 아래의 예시에서는 branch를 사용하지 않아서 크게 다가오지 않지만 나중에 branch를 사용하게 되면 시각적으로 각 branch 간의 관계가 표현되는 것을 확인할 수 있을 것이다.

 

 

git log -p (숫자)

각 commit의 diff 결과를 보여줌, 숫자 옵션을 추가 시 최근 (숫자)개 만큼의 diff 결과만을 보여줌

아래의 예시를 통해서 확인할 수 있듯이 최신버전은 이전 버전에 비해서 소스의 어느 부분이 수정되었는 지를 구체적으로 확인할 수 있다. 즉, 각 commit에 대한 diff 결과를 확인할 수 있다.

 

git log --stat

각 commit에 대한 통계를 보여줌

stat 옵션을 사용하면 다음과 같이 지금까지 진행한 commit 들에 대한 통계적 데이터들을 볼 수 있다. 각 commit에서 각 파일별로 내용이 얼마나 변경되었는 지를 수치와 그래프로 시각화하여서 사용자가 직관적으로 데이터를 볼 수 있도록 해주는 유용한 옵션이다.