기능
- 커밋 목록을 출력한다.
- 두 브랜치의 커밋 목록을 비교할 수 있다.
형식
$1
, $2
에는 커밋 해시, HEAD, 브랜치명 등을 사용할 수 있다.
git log # 현재 로컬 브랜치의 커밋 목록 출력
git log $1 # 지정한 브랜치의 커밋 목록 출력
git log $1..$2 # $1에는 없고 $2에는 있는 커밋 목록 출력(From $2 -> To $1) ($2는 미래, $1은 과거로 비유할 수 있다.)
git log $1.. # git log $1..HEAD와 동일 (HEAD는 현재 브랜치의 마지막 커밋)
git log ..$1 # git log HEAD..$1과 동일
옵션
-n {숫자} # 지정한 개수의 커밋만 출력
-{숫자} # 지정한 개수의 커밋만 출력
--skip {숫자} # 지정한 개수의 커밋을 건너뛰고 목록 출력
--oneline # 각 커밋마다 한 줄씩 간결하게 출력
--graph # 커밋 목록을 그래프 형식으로 출력
--decorate # 추가 정보 함께 표시
--color # 색상으로 출
응용
git log --pretty=format:"%h | %ad | %an | %s" --date=format:"%Y-%m-%d %H:%M:%S"
git log --color --pretty=format:"%C(yellow)%h%Creset | %Cgreen%ad%Creset | %C(bold blue)%an%Creset | %s" --date=format:"%Y-%m-%d %H:%M:%S" -n 20
git log --color --graph --pretty=format:"%C(yellow)%h%Creset -%C(auto)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset" --abbrev-commit -n 20