본문 바로가기
Git

[Git 깃] git log

by 까망 하르방 2021. 3. 13.
반응형

git log

- Commit History를 볼 수 있는 명령어이다.

- 본인이 Commit 했던 것이나 git clone 혹은 git pull 해서 받은 저장소의 기록까지 확인할 수 있다.

 

commit 이력 조회

git log

- 가장 최근 커밋이 상단에 위치한다.

- Space Bar를 누르면 다음 변경(Commit) 이력을 한개씩 보여준다.

- 각 Commit의 SHA-1 체크섬, 저자 이름, 저자 이메일, 커밋한 날짜, 커밋 메시지를 보여준다.

※ [Git] [Case] git log 탈출하기  

 

[Git] [Case] git log 탈출하기

- Git 목록  - [Git] [CMD] git log git log 탈출하기 commit 내역을 보고 싶을 때, 보통 git log를 수행한다. git log 스크롤이 세로로 길거나, Commit 내역이 짧은 경우에는 한번에 볼 수 있지만 그렇지 않은..

zoosso.tistory.com

 

commit 이력 중 커밋 ID 와 타이틀 메시지만 조회 

git log --oneline

▶ 한 줄 단위로 보여준다.

 

특정 파일 변경 commit 조회

git log {File Name}

 

가장 최근 commit {N}개만 보기

git log -{N}

 

차이점(diff) 함께 표시

git log -p
git log -p -2 // 최근 두 개 결과 diff

직접 diff를 실행한 것과 같은 결과를 출력하기 때문에

동료가 무엇을 커밋했는지 리뷰하고 빨리 조회하는데 유용하다.

 

각 commit의 통계 정보를 조회할 수 있다.

git log --stat

어떤 파일이 수정됐는지, 얼마나 많은 파일이 변경됐는지

얼마나 많은 라인을 추가하거나 삭제했는지 보여준다.

 

각 commit 정보를 한 라인으로 요약

git log --pretty=oneline

- 기본 형식 이외에 여러 가지 중에 하나를 선택할 수 있다.

   short, full, fuller 를 입력하면 조금씩 더 많은 정보를 볼 수 있다.

 

나만의 포맷으로 결과 출력 (format 옵션 활용)

git log ---pretty=format:"%h - %an, %ar : %s"

 

<각 format 옵션 정의>

원래 작업을 수행한 원작자이고 커밋터는 마지막으로 이 작업을 적용한 사람이다. 

ex)  「A」 가 특정 프로젝트에 패치를 보냈고 그 프로젝트 담당자  「B」 가 패치를 적용했다면

      두 명의 정보를 모두 알 필요가 있다. 「A」가 저자고, 「B」 가 Committer 이다.

 

Branch와 Merge 히스토리를 보여주는 아스키 그래프 출력 (--graph)

git log --pretty=format:"%h %s" --graph

 

모든 브랜치 커밋 이력 조회

git log --oneline --decorate --graph --all

 

<옵션 정리>

 

조회 범위 조정

앞서 몇가지 정도 보여준것도 있지만, 

git log에서는 기간, 저자, 커미터, 특정 텍스트 포함 여부 등을 조정할 수 있다.

 

2주 이내의 log만 확인

git log --since=2.weeks

- 정확한 날짜나 상대적인 날짜 모두 기입 가능

특정 텍스트 포함하는 것 확인

git log -S {Your String}

 

2021년 3월에 커밋한 히스토리를 조회

그 중에서 테스트 파일을 수정한 커밋 중에서 Merge 커밋이 아닌 것들만 조회

git log --pretty="%h - %s" --author=gitster --since="2021-03-01" \
--before="2021-04-01" --no-merges -- t/

 

<옵션 정리>

Reference

- Git 목록 

[Git] [CMD] git commit 

[Git] [CMD] git diff

- [Git] [Case] git log 탈출하기  

반응형

'Git' 카테고리의 다른 글

[Git 깃] git stash  (0) 2021.03.13
[Git 깃] git push  (0) 2021.03.13
[Git 깃] git init  (0) 2021.03.13
[Git 깃] git commit  (0) 2021.03.13
[Git 깃] git checkout  (0) 2021.03.13

댓글