Git Bisect로 버그 찾기는 커밋을 만들고 간단한 이력을 읽을 수 있는 Git 학습자를 위한 실습 프로젝트입니다. 작은 상점의 할인 견적이 언제부터 잘못되었는지 찾고, 이후에 추가된 상품, 문구, 수령 시간 업데이트를 잃지 않으면서 현재 상점을 수정합니다. 결과물은 필요한 부분만 고친 수정 커밋과 완전한 고객 견적 파일입니다.
가이드 실습 하나에서 비즈니스 테스트, 짧은 수동 검색, 자동 이분 탐색, 현재 브랜치 수정을 배웁니다. 독립적으로 초기화되는 챌린지 하나에서는 같은 배운 방식을 사용하되 쿠폰, 주문, 오류 위치를 바꿉니다. 전체 90분은 저자의 추정치입니다.
학습 내용
이 과정을 마치면 다음을 할 수 있습니다.
- 프로그램이 실행되는 것과 견적이 실제 할인 정책을 따르는 것을 구분합니다.
- 준비된 결정적 테스트와 실제 종료 상태로 정상 및 오류 Git 리비전을 확정합니다.
- 과거 버전 몇 개를 수동으로 분류한 뒤
git bisect run으로 같은 검색을 자동화합니다. bisect/bad와 현재 HEAD를 구분하고 최초 오류 스냅샷을 바로 이전 부모와 비교합니다.- 검색을 종료하고 main에 필요한 수정만 커밋하며, 후속 작업을 보존하고 완전하고 올바른 견적을 전달합니다.
추천 대상
이력에서 회귀 문제를 추적하는 실용적인 방법을 배우려는 초급 개발자와 Git 학습자를 위한 과정입니다.
선수 지식: 기본 터미널 경로 이동, 커밋, 브랜치, 간단한 log/diff 읽기가 필요합니다. 앞선 Git 팀 변경 병합 프로젝트가 준비에 도움이 됩니다. Bisect, 검색 중 임시 분리 체크아웃, 테스트 결과, 작은 할인 파일 편집은 과정 안에서 설명합니다.
학습 환경: 브라우저에 준비된 Linux Terminal에는 Git, Python, 실제 견적 프로그램, 가상 고객 주문, 외부 테스트가 포함됩니다. Python을 작성하지 않고 제공된 프로그램을 실행합니다. 웹사이트, 호스팅 계정, 로컬 설치는 필요하지 않습니다. 프로그램 문구, 파일 내용, 명령 출력은 영어로 유지됩니다.
자주 묻는 질문
테스트나 프로그램을 작성해야 하나요?
아니요. 견적 프로그램과 결정적 비즈니스 테스트가 준비되어 있습니다. 원래 할인 정책을 읽고 테스트 결과를 해석하며 작은 백분율 설정 하나를 수정합니다.
최초 오류 커밋을 찾으면 현재 상점도 수정되나요?
아니요. 후보와 부모를 검증한 다음 과거 이력 검색을 종료하고, 현재 main 브랜치에 필요한 부분만 고친 수정 커밋을 추가합니다. 이후의 유용한 변경은 그대로 남습니다.
챌린지에서는 무엇이 달라지나요?
독립적으로 준비된 이력의 다른 지점에서 다른 쿠폰과 고객 주문이 실패합니다. 테스트 형식과 핵심 도구는 같습니다. 새로운 프로그래밍, 빌드 오류, 버전 건너뛰기 방식은 요구하지 않습니다.
호스팅된 상점을 배포하는 과정인가요?
아니요. 교육용 머신 한 대에서 실제 로컬 Git 저장소와 파일 기반 견적 도구를 사용합니다. 완전한 견적 파일은 실제로 사용할 수 있는 결과물이지만, 호스팅 결제나 프로덕션 배포를 시뮬레이션하지는 않습니다.

