제육's 휘발성 코딩
반응형

Git 로그 다양한 사용법

옵션들을 활용한 다양한 사용법

image

git log -p
  • 각 커밋마다 변경사항을 함께 볼 수 있다.
git log -(갯수)
  • 최근 n개의 커밋만 보는 기능

image

git log --stat
  • 통계와 함께 보기 (더 간략하게 보는 방식은 --shortstat)
git log --oneline
  • 로그를 한 줄로 보기 (--pretty=oneline --abbrev-commit 의 줄임말)
git log -S (검색어)
  • 변경사항 내 단어 검색 (예시 : git log -S George)
git log --grep (검색어)
git log --all --decorate --oneline --graph
  • 자주 사용되는 그래프 로그 보기
  • --all : 모든 브랜치 보기
  • --graph : 그래프 표현
  • --decorate : 브랜치, 태그 등 모든 레퍼런스 표시
    • --decorate=no
    • --decorate=short : 기본
    • --decorate=full

image

git log --graph --all --pretty=format:'%C(yellow) %h  %C(reset)%C(blue)%ad%C(reset) : %C(white)%s %C(bold green)-- %an%C(reset) %C(bold red)%d%C(reset)' --date=short
git config --global alias.lg "log --graph --all --pretty=format:'%C(yellow) %h  %C(reset)%C(blue)%ad%C(reset) : %C(white)%s %C(bold green)-- %an%C(reset) %C(bold red)%d%C(reset)' --date=short"
  • 커스텀은 다음과 같이 alias를 설정하면 된다.

git diff

different의 약자로 변경사항을 확인하는 명령어이다.

image

git diff
  • 워킹 디렉토리의 변경사항 확인
git diff --name-only
  • 파일명만 확인
git diff --staged
  • 스테이지 확인 (--cached 와 동일하다.)
git diff (커밋1) (커밋2)
  • 커밋 해시 또는 HEAD 번호로 커밋 간의 차이를 확인할 수 있다. 현재 커밋과 비교하려면 이전 커밋만 명시해도 가능하다.
git diff (브랜치1) (브랜치2)
  • 브랜치 간의 차이도 확인할 수 있다.

 

누가 코딩했는지 알아내기 (blame)

git blame (파일명)
  • 파일의 부분별로 작성자 확인하기
git blame -L (시작줄) (끝줄, 또는 +줄수) (파일명)
  • 특정 부분 지정해서 작성자 확인하기 (git blame -L 10,12 whoCodedThis.txt, git blame -L 10,+3 whoCodedThis.txt)
vscode 의 경우 GitLens 확장 프로그램을 설치하면 편리하게 볼 수 있다. 

 

오류가 발생한 시점 찾아내기 (bisect)

이진탐색을 통해 버전 별 오류 발생 지점을 탐색하는 기법 (good / bad 를 이진 탐색으로 반복해가며 원인 찾기)

git bisect start
  • 이진 탐색 시작
git bisect bad
  • 오류발생 지점임을 표시
git checkout (해당 커밋 해시)
  • 의심 지점 이동
git bisect good
  • 오류 발생지점이 아닌 양호함을 표시
git bisect reset
  • 이진 탐색 종료

본 포스팅은 '인프런 - 제대로 파는 Git & GitHub - by 얄코' 강의를 보고 정리한 내용입니다.

반응형
profile

제육's 휘발성 코딩

@sasca37

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요! 맞구독은 언제나 환영입니다^^