소개
🧑💻 Git 또는 LabEx 를 처음 사용하시나요? Git 퀵 스타트 강좌부터 시작하는 것을 권장합니다.
Git 은 개발자가 코드베이스의 변경 사항을 시간별로 추적할 수 있도록 해주는 강력한 버전 관리 시스템입니다. Git 의 가장 유용한 기능 중 하나는 버그를 발생시킨 커밋을 찾는 기능입니다. 이는 코드의 문제 원인을 추적할 때 매우 유용할 수 있습니다.
🧑💻 Git 또는 LabEx 를 처음 사용하시나요? Git 퀵 스타트 강좌부터 시작하는 것을 권장합니다.
Git 은 개발자가 코드베이스의 변경 사항을 시간별로 추적할 수 있도록 해주는 강력한 버전 관리 시스템입니다. Git 의 가장 유용한 기능 중 하나는 버그를 발생시킨 커밋을 찾는 기능입니다. 이는 코드의 문제 원인을 추적할 때 매우 유용할 수 있습니다.
git-playground 저장소에서 버그를 발생시킨 커밋을 수동으로 찾는 것이 과제입니다. 저장소는 https://github.com/labex-labs/git-playground에서 찾을 수 있습니다. 버그는 file2.txt 파일이 "This is file2.txt." 대신 "This is file2."를 출력해야 한다는 것입니다.
이 랩을 완료하려면 git bisect 명령을 사용하여 저장소의 커밋 기록을 이진 검색해야 합니다. 버그를 발생시킨 커밋을 좁힐 때까지 커밋을 "good" (버그 없음) 또는 "bad" (버그 있음) 로 표시해야 합니다.
cd git-playground
git bisect 프로세스를 시작합니다:git bisect start
git bisect bad HEAD
git bisect good 3050fc0de
Git 은 자동으로 테스트할 새 커밋을 체크아웃합니다. 5. 체크아웃된 file2.txt 파일의 내용이 버그와 일치하지 않으면 "good"으로 표시합니다:
cat file2.txt
git bisect good
file2.txt 파일의 내용이 버그와 일치하면 "bad"로 표시합니다:git bisect bad
git bisect 프로세스를 재설정합니다:git bisect reset
이제 버그가 있는 커밋의 코드 변경 사항을 검사하여 버그의 원인을 찾을 수 있습니다.
다음은 테스트 결과입니다:
d22f46ba8c2d4e07d773c5126e9c803933eb5898 is the first bad commit
commit d22f46ba8c2d4e07d773c5126e9c803933eb5898
Author: Hang <huhuhang@users.noreply.github.com>
Date: Wed Apr 26 14:16:25 2023 +0800
Added file2.txt
file2.txt | 1 +
1 file changed, 1 insertion(+)
create mode 100644 file2.txt
이 랩에서는 git bisect 명령을 사용하여 Git 저장소에서 버그를 발생시킨 커밋을 수동으로 찾는 방법을 배웠습니다. 커밋을 "good" 또는 "bad"로 표시하여 커밋 기록을 이진 검색하여 문제의 원인을 빠르게 좁힐 수 있습니다. 이 기술은 복잡한 코드베이스를 디버깅할 때 매우 유용할 수 있습니다.