분석과 디버깅

log

각 커밋마다 변경사항과 함께 보기

git log -p

최근 n개 커밋만 보기

git log -(갯수)
  • 예) git log -2 -p : 최근 2개의 커밋을 변경사항과 함께 본다.

통계와 함께 보기

git log --stat
  • 더 간략히 보려면 --stat대신 --shortstat입력

한 줄로 보기

git log --oneline
  • 커밋 해시 요약과 커밋 메시지를 보여준다.

  • 커밋 해시를 요약해서 보여주는 --abbrev-commit와 전체 커밋 해시와 커밋 메시지를 보여주는 --pretty=oneline 두 옵션의 줄임이다.

변경사항 내 단어 검색

git log -S (검색어)
  • 변경사항 내역 중에 검색어에 해당하는 단어가 있는 커밋 정보를 보여준다.

커밋 메시지로 검색

  • 커밋 메시지에 검색어가 포함된 커밋 정보를 보여준다.

더 다양한 옵션 - 문서

그래프 로그 보기

  • --all : 모든 브랜치 보기

  • --graph : 그래프 표현

  • --decorate : 브랜치, 태그 등 모든 레퍼런스 표시

    • --decorate=no

    • --decorate=short(기본)

    • --decorate=full

포맷된 로그 보기

차이 살펴보기

Working directory의 변경사항 확인

파일명만 확인

스테이지 확인

  • --cached랑 같다.

두 커밋간 차이 확인

  • 커밋 해시 또는 HEAD 번호를 쓸 수 있다.

  • 현재 커밋과 비교하려면 이전 커밋 정보만 명시하면 된다.

브랜치간의 차이 확인

파일별 작성자 확인하기

  • 파일명을 적을 때에는 폴더를 포함해야 한다.

특정 부분 지정해서 작성자 확인하기

  • 이렇게 CLI로 작성자를 확인하는 것보다 IDE나 플러그인들이 훨씬 좋은 게 많이 있기 때문에 이 방법을 사용하는 것이 좋다.

오류 발생 시점 찾기

탐색을 시작한다.

  • 이진 탐색 알고리즘(반씩 나누어서 찾는)으로 문제의 발생 시점을 찾기 시작한다.

오류가 발생하면 오류발생 지점임을 표시한다.

의심되는 지점으로 이동한다.

오류가 발생하지 않으면 양호함을 표시한다.

이렇게 git bisect bad/good을 원인을 찾을 때까지 반복한다.

탐색이 종료되면 종료를 한다.

Last updated