저장소에 있는 Commit 이력을 조회할 경우 git log 명령을 사용한다.
git log
대표적으로 간단히 사용하는 형식은 아래와 같다.
$
git log // 커밋 이력 상세 조회. 가장 최근의 커밋이 먼저 나오고 스페이스 바를 누르면 변경 이력이 하나씩 보여진다.$ git log --oneline // 커밋 이력 중 커밋 ID 와 타이틀 메시지만 조회
$ git log --oneline --decorate --graph --all// 모든 브랜치 커밋 이력 조회
$ git log --index.html // 특정 파일의 변경 커밋 조회
$ git log -p // diff 를 보여준다.
$ git log -p -2 // 최근 두 개의 결과만 diff 를 보여준다.
--stat 옵션으로 각 커밋의 통계 정보를 조회할 수 있다.
이 명령은 어떤 파일이 수정됐는지, 얼마나 많은 파일이 변경됐는지
얼마나 많은 라인을 추가하거나 삭제했는지 보여준다.
$
git log --stat다른 유용한 옵션으로 --pretty 가 있다.
각 커밋 정보를 한 라인으로 요약해 보고 싶을 때는 아래와 같이 한다.
= short, full, fuller 를 입력하면 조금씩 더 많은 정보를 볼 수 있다.
$
git log --pretty=
oneline=format 옵션을 입력하면 나만의 포맷으로 결과를 출력할 수 있다.
$
git log --pretty=
format:"%h - %an, %ar : %s"
ca82a6d - Scott Chacon, 6 years ago : changed the version number
085bb3b - Scott Chacon, 6 years ago : removed unnecessary test
a11bef0 - Scott Chacon, 6 years ago : first commit
이때 포멧을 구성하기 위해 아래 옵션을 사용한다.
옵션 | 설명 |
%H |
커밋 해시
|
%h |
짧은 길이 커밋 해시
|
%T |
트리 해시
|
%t |
짧은 길이 트리 해시
|
%P |
부모 해시
|
%p |
짧은 길이 부모 해시
|
%an |
저자 이름
|
%ae |
저자 메일
|
%ad |
저자 시각 (형식은 –date= 옵션 참고)
|
%ar |
저자 상대적 시각
|
%cn |
커미터 이름
|
%ce |
커미터 메일
|
%cd |
커미터 시각
|
%cr |
커미터 상대적 시각
|
%s |
요약
|
oneline과 format 옵션은 --graph 옵션과 함께 사용할 때 더 빛난다.
이 명령은 브랜치와 머지 히스토리를 보여주는 아스키 그래프를 출력한다.
$
git log --pretty=
format:"%h %s"
--graphgit log 주요옵션
옵션 | 설명 |
-p |
각 커밋에 적용된 패치를 보여준다.
|
--stat |
각 커밋에서 수정된 파일의 통계정보를 보여준다.
|
--shortstat |
--stat 명령의 결과 중에서 수정한 파일, 추가된 라인, 삭제된 라인만 보여준다. |
--name-only |
커밋 정보중에서 수정된 파일의 목록만 보여준다.
|
--name-status |
수정된 파일의 목록을 보여줄 뿐만 아니라 파일을 추가한 것인지, 수정한 것인지, 삭제한 것인지도 보여준다.
|
--abbrev-commit |
40자 짜리 SHA-1 체크섬을 전부 보여주는 것이 아니라 처음 몇 자만 보여준다.
|
--relative-date |
정확한 시간을 보여주는 것이 아니라 “2 weeks ago”처럼 상대적인 형식으로 보여준다.
|
--graph |
브랜치와 머지 히스토리 정보까지 아스키 그래프로 보여준다.
|
--pretty |
지정한 형식으로 보여준다. 이 옵션에는 oneline, short, full, fuller, format이 있다. format은 원하는 형식으로 출력하고자 할 때 사용한다.
|
git log 조회범위
기간, 저자, 커미터, 특정 텍스트 포함 여부 등을 사용해서 조회 범위를 조정할 수 있다.
예를 들어 아래는 2주 이내의 log 만 본다.
$
git log --since=
2.weeks아래는 Sfunction_name 이 포함된 경우만 본다.
$
git log --S function_name조회 관련 옵션은 아래와 같은 것들이 있다.
옵션 | 설명 |
-(n) |
최근 n 개의 커밋만 조회한다.
|
--since , --after |
명시한 날짜 이후의 커밋만 검색한다.
|
--until , --before |
명시한 날짜 이전의 커밋만 조회한다.
|
--author |
입력한 저자의 커밋만 보여준다.
|
--committer |
입력한 커미터의 커밋만 보여준다.
|
--grep |
커밋 메시지 안의 텍스트를 검색한다.
|
-S |
커밋 변경(추가/삭제) 내용 안의 텍스트를 검색한다.
|
'SCM > Git' 카테고리의 다른 글
13. Git 완료된 커밋과 비교 - git diff (0) | 2020.01.23 |
---|---|
12. Git 완료한 커밋을 되돌리기 - git reset (0) | 2020.01.23 |
10. Git 레포지토리에 커밋하기 - git commit (0) | 2020.01.23 |
09. Git 파일 관리 - git mv (0) | 2020.01.23 |
08. Git 파일 관리 - git add (0) | 2020.01.23 |