본문 바로가기

기타

문제가 발생한 커밋 찾기: git bisect

이전에 없었던 문제를 다수의 커밋 후에 발견하게 되었다.

오픈소스 컨트리뷰톤의 ☁️구름 입력기 프로젝트(github.com/gureum/gureum)에 참여하면서 git bisect로 유용하게 문제가 발생한 커밋을 찾고, 이슈를 해결했던 경험이 생각나 오랜만에 git bisect를 사용해보았다.

 

빠르고 간편하게 문제가 발생한 커밋을 찾을 수 있어 매우 편리하다.✨

설명

git에서 이진 탐색을 할 수 있는 명령어입니다.

자동으로 커밋 내역을 이동하면서 'good', 'bad'를 체크하며 탐색하는 과정으로 이루어집니다.

 

# git bisect 시작 
$ git bisect start

# 현재 커밋에 문제가 있다면 'bad'로 지정
$ git bisect bad

# 문제가 없던 커밋으로 이동
$ git checkout <tag 번호>
$ git checkout <commit id>

# 현재 커밋에 문제가 없다면 'good'로 지정
$ git bisect good 

# git bisect 종료
$ git bisect reset

 

문제 발생 상태를 확인하며 'bad' 나 'good' 지정을 반복적으로 하다가, 문제가 발생한 커밋이 발견되면 <commit id> is the first bad commit 를 출력하며 끝나게 됩니다.

 

그 커밋에서 문제점을 찾고 해결하면 됩니다!😁