첫 bad 후보와 부모 비교

git bisect 결과는 원인 확정이 아니라 첫 bad 후보입니다.

git switch --detach <first-bad-commit>^
../verify-regression.sh
git switch --detach <first-bad-commit>
../verify-regression.sh

merge commit은 부모가 둘 이상이므로 비교할 부모 경로를 먼저 정합니다.

원인 변경 좁히기

후보가 여러 변경을 포함하면 회귀와 관련된 부분을 작은 테스트로 분리합니다. 문제 변경만 되돌렸을 때 실패가 사라지는지도 확인해 상관관계와 원인을 구분합니다.

완료 기준

good 부모에서는 반복 통과하고 first bad에서는 반복 실패하며, 수정이나 되돌리기 뒤에는 실패가 사라져야 합니다. skip한 커밋이 있으면 결과의 모호성을 기록하고, 자료를 남긴 뒤 git bisect reset으로 조사 전 위치로 돌아갑니다.

공식 문서