Git Bisect 사용법: 오류가 발생한 커밋을 빠르게 찾는 방법
카테고리
프로그래밍/소프트웨어 개발
서브카테고리
개발 툴
대상자
소프트웨어 개발자, 버그 트래킹이 필요한 팀원
(중간~고급 수준: Git 기본 명령어 이해가 필요)
핵심 요약
git bisect
는 이진 탐색 알고리즘을 사용해 버그가 발생한 정확한 커밋을 효율적으로 찾는 도구git bisect start
로 세션 시작 후,git bisect good
/git bisect bad
로 중간 커밋 테스트 반복- 테스트 자동화 가능: 스크립트로
git bisect run
실행하여 수동 검증 생략
섹션별 세부 요약
1. Git Bisect 기본 개념
- 이진 탐색 알고리즘을 통해 커밋 히스토리에서 버그 발생 지점을 최대 O(log n) 회수로 확인
- 예: 100개 커밋 중 1번은 정상, 100번은 오류 → 50번, 25번, 75번 등 반복 검증
git bisect start
명령어로 세션 초기화 후, bad/good 커밋 지정
2. 실습 예제
git bisect start
로 세션 시작- 중간 커밋 테스트:
- 오류 존재 시: git bisect bad
- 정상 시: git bisect good
git bisect reset
으로 세션 종료 후 원래 상태 복원
3. 자동화와 스크립트 사용
- 테스트 스크립트 작성 (예:
test-script.py
) 후git bisect run
실행 - 스크립트는 0(정상) 또는 0이 아닌 값(오류)으로 종료해야 함
git bisect skip
으로 테스트 불가능 커밋 건너뛰기
4. 도구 활용 팁
git bisect log
로 진행 상황 확인git bisect visualize
로 그래픽으로 커밋 탐색 시각화- 태그 사용:
git bisect start v2.0.0 v1.9.0
으로 버전 범위 지정 git show
로 문제 커밋의 변경 사항 확인
결론
git bisect
는 버그 원인 커밋을 빠르게 찾는 핵심 도구- 자동화 스크립트와 태그 사용이 효율성을 극대화
- 오류 커밋 발견 후 테스트 케이스 추가로 향후 유사한 문제 예방 권장