git log 명령어 정리


  • git log 명령어에 대해서 정리한 글입니다

git log

  • git log는 현재 브랜치의 커밋 이력을 볼 수 있는 명령어이다
$ git log
# 현재 브랜치의 커밋 이력을 보는 명령어
# HEAD와 관련된 커밋들이 자세하게 나온다

$ git log -n<숫자>
# 전체 커밋 중에서 최신 n개의 커밋을 살펴본다

$ git log --oneline --graph --decorate --all
# 모든 브랜치들을 보고 싶을 때

# --oneline : 현재 커밋을 한 줄로 요약해서 보여준다
# --graph : 커밋 옆에 브랜치의 흐름을 그래프로 보여준다
# --decorate : 원래는 --decorate=short 옵션을 의미한다. 브랜치와 태그 등의 참조를 간결히 표시한다
# --all : all 옵션이 없을 경우 HEAD와 관계 없는 옵션은 보여주지 않는다

$ git log --patch
$ git log --p
# 파일의 수정된 내용도 함께 확인할 수 있다

$ git log --oneline
# 간단히 커멧 해시와 제목만 보고 싶을 때

$ git log --oneline --reverse
# 오래된 커밋부터 보고 싶을 때

$ git log --oneline --graph --decorate
# HEAD와 관련된 커밋들을 조금 더 자세히 보고 싶을 때

$ git log --oneline --graph --all --decorate
# 모든 브랜치들을 보고싶을 때

$ git log --oneline -n5
# 내 브랜치의 최신 커밋을 5개만 보고 싶을 때

$ git log --pretty=oneline
# --pretty 옵션 사용하면 원하는 대로 git log를 foramtting할 수 있다
# --pretty=oneline처럼 oneline을 이용하면 전체 해쉬코드가 출력된다

$ git log --pretty=format:"%h %an"
# 사용자가 원하는 방식으로 format을 만들 수 있다
# 해쉬코드와 author의 이름만 보고 싶은 경우 %h %an를 사용한다

$ git log --pretty=format:"%h %an %ar %s "
# 해쉬코드, author의 이름과 commit 된 date와 title까지 보고 싶은 경우


# https://git-scm.com/docs/git-log
# 다양한 옵션 확인가능

$ git log --graph --all --pretty=format:'%C(yellow)[%ad]%C(reset) %C(green)[%h]%C(reset) | %C(white)%s %C(bold red)%C(reset) %C(blue)%d%C(reset)' --date=short
# 이렇게 format을 지정하면 사용자가 좀 더 편하게 log 결과를 볼 수 있다
# 다만 이렇게 설정하면 너무 길기 때문에 아래처럼 alias를 사용해서 명령어를 줄인다

$ git config --global alias.hist "log --graph --all --pretty=format:'%C(yellow)[%ad]%C(reset) %C(green)[%h]%C(reset) | %C(white)%s %C(bold red)%C(reset) %C(blue)%d%C(reset)' --date=short"
# 이렇게 hist 라는 이름으로 지정해주면 (꼭 hist라는 이름으로 지정하지 않아도 된다)

$ git hist
# 로 해도 같은 결과를 출력할 수 있다

$ git log -3
# 최근 커밋 중 3개만 볼 수 있다

$ git log --oneline -3
# 최근 커밋 중 3개만 간단하게 볼 수 있다

$ git log --author-"john"
# 커밋 작성자가 john인 사람의 커밋만 보여준다

$ git log --before="2020-09-09"
# 지정한 날짜 이전 커밋만 보여준다

$ git log --grep="page"
# 커밋 중에 page라는 단어가 포함된 커밋만 보여준다


$ git log -S "about"
# 커밋 타이틀이 아니라 소스코드 컨텐츠 안에서 문자를 검색하고 싶다면
# 소스코드 내용 중에 about이라는 글자가 포함된 소스코드에 대한 커밋 보여준다


$ git log -S "about" -p
$ git log -S "about" --patch
# 조금 더 자세히 알고 싶다면 -p명령어를 사용해서 보면
# 코드 내용안에 about이라는 글자가 포함된 소스코드에 대한 커밋과 "about"이 포함된 내용을 함께 보여준다


$ git log about.txt
# git log 다음에 파일 이름 작성하면 해당하는 파일에 대한 커밋을 볼 수 있다
# about.txt라는 파일에 대한 커밋을 몰 수 있다

$ git log -p about.txt
# -p 옵션을 사용하면 수정된 파일의 내용까지 함께 확인할 수 있다

$ git log -s about.txt
# -s 옵션을 써서 간단한 상태만 확인할 수 있다

$ git log HEAD
# HEAD는 내가 보고 있는 커밋을 가르킨다
# git log 와 동일한 내용을 보여준다

$ git log HEAD~1
# HEAD에서 첫번째 떨어진 부모부터 보여준다

$ git log HEAD~2
# HEAD에서 두번째 떨어진 부모부터 보여준다

$ git show "commit_hashcode"
# 특정 commit에 대한 내용을 확인하고 싶은 경우 show 옵션 사용한다

$ git show "commit_hashcode":"file name"
# commit에 여러개의 파일이 있을 때 다음과 같은 방법으로 file의 내용을 확인할 수 있다

$ git diff "commit_hashcode" "commit_hashcode"
# 두 커밋을 비교해서 어떠한 부분이 변경되었는지 확인할 수 있다

$ git diff "commit_hashcode" "commit_hashcode" "filename"
# 두 커밋에서 해당하는 파일의 차이점을 확인할 수 있다


$ git help <명령어>
# 해당 명령어의 도움말을 표시한다

# 도움말 기능 사용하기
# git help <명령어> , 해당 명령어의 도움말을 표시한다
$ git help status

$ git help commit


Reference









© 2020. by dkmqflx

Powered by dkmqflx