[Git, Github] Git blame, bisect

JUNHO YEOM·2022년 12월 1일
0

Git, Github

목록 보기
24/27
post-thumbnail

git blame

각 라인의 작성자를 확인합니다.
작성자를 파악하게 되면, 그 코드가 왜 작성된 것인지,
수정하였을 때 어떤 영향을 받을 것인지 알 수 있습니다.


git blame (파일명) 

git blame을 통해 git config user.name이 조회됩니다.
어떤 user가 코드를 작성했는지 알 수 있게 해줍니다.

git blame -L (시작줄) (끝줄, 또는 +줄수) (파일명) 

특정 Line의 코드를 누가 작성했는지 확인하기

Git lens

깃 랜즈 추가 플러그인을 통해 누가 작성하였는지 쉽게 확인할 수도 있습니다.



git bisect

오류가 발생한 시점을 찾아볼 수 있습니다.
오류가 어느 commit부터 작성 하였는지 알기 위해 사용합니다.
버전을 하나하나 되돌아가면서 실행하면 그 시점을 찾기가 너무 힘들 수 있습니다.
프로그램을 실행하면서 이진 탐색 알고리즘으로 문제의 발생 시점을 효과적으로 찾아냅니다.

이진 탐색 시작

git bisect start 

오류발생 지점임을 표시합니다.


의심 지점으로 이동 하기

git checkout "커밋 해시"

git checkout을 이용해서 의심되는 commit 지점으로 이동해줍니다.
의심 되는 지점의 커밋 해시는 git log --oneline 명령어로 획득해 줍니다.


실행 결과 나타내기

git bisect badgit bisect good으로 해당 시점의 오류 발생 여부를 표기합니다. 이를 근거로 git이 오류가 최초로 발생한 commit 시점을 찾습니다.

실행 결과가 오류일 경우

git bisect bad 

실행 결과가 오류임을 알려줍니다. 다음 이진탐색이 적용될 commit시점으로 이동됩니다.

실행 결과가 정상일 경우

git bisect good 

실행 결과가 정상임을 알려줍니다. 다음 이진탐색이 적용될 commit시점으로 이동됩니다.



오류 발생 시점을 찾았을 경우

git bisect reset

오류가 최초로 발생하는 commit 지점을 찾았다면 해당 명령어로
bisect를 종료해줍니다.

0개의 댓글