·터미널 명령어

git bisect

git

쓰는 꼴

git bisect start <bad> <good>

커밋 구간을 반씩 갈라 문제가 처음 생긴 커밋을 찾습니다 — 끝나면 git bisect reset을 해야 하고, 잊으면 브랜치 없는 커밋 위에 그대로 남습니다.

자주 쓰는 옵션

옵션
start <bad> <good>begin, naming a broken and a working commit
goodmark the checked-out commit as working
badmark it as broken
skipthis commit cannot be tested
run <cmd>let a command decide by its exit code
resetstop and go back to where you were

예시

git bisect start HEAD v1.1.0

starts the search between the last release and now

git bisect run npm test

finds the first failing commit with no further input

git bisect reset

ends the session; skipping this leaves you on a detached commit

되돌리는 방법이 여럿이라 헷갈립니다 — 가리키는 곳을 옮기는 것과 새 커밋을 얹는 것은 다릅니다.

읽는 방법

  • 대괄호 [ ]는 넣어도 되고 안 넣어도 되는 자리입니다.
  • 점 셋 …은 여러 개를 이어 쓸 수 있다는 뜻입니다.
  • 옵션은 대소문자를 가립니다 — -r과 -R이 다른 명령도 있습니다.

자주 묻는 것

Q. git bisect은 무엇을 하나요?

커밋 구간을 반씩 갈라 문제가 처음 생긴 커밋을 찾습니다 — 끝나면 git bisect reset을 해야 하고, 잊으면 브랜치 없는 커밋 위에 그대로 남습니다.

Q. 어떻게 치나요?

git bisect start <bad> <good> — 대괄호는 생략할 수 있는 자리입니다.

Q. 옵션은 몇 개나 자주 쓰나요?

여기 정리한 것은 6개입니다. 전체 목록은 man git에 있습니다. 이 명령은 git 갈래입니다.

같이 보는 명령

man 페이지: man git-bisect