2011-03-11 8 views
6

~/.gitconfig에서 다음과 같은 내용을 가지고 있습니다. (여기는 내가 무엇을보고 있는지 이해하는 데 도움이됩니다.)Git에서 "refs/bisect/bad"브랜치를 없애는 법

:

[alias] 
    lg = log --graph --all --pretty=format:'%Cred%h %Cgreen(%cr)%Creset - %s %C(yellow)%d %C(bold blue)<%an>%Creset' --abbrev-commit --date=relative 

git log 할 때 분기 이름이있는 전체 커밋 트리를 보여줍니다. 그리고 물건. 어제 나는 git bisect을 시작했고, 오늘 로그의 출력에 refs/bisect/bad 가지가 있다는 것을 알았습니다.

refs/bisect/bad 분기는 정확히 무엇이며 어떻게 제거합니까?

답변

10

당신이 git bisect을 사용하고, 마지막 불량한 커밋을 추적하기 위해 refs/bisect/bad을 사용합니다. (그 ref는 git bisect bad 일 때 업데이트됩니다.)

나는 여기서 일어난 일은 여러분이 bisect의 끝 부분에 도달했다는 것이고, 첫번째 나쁜 커밋을보고했지만, 결코 git bisect reset이라는 이분법을 끝내지 않았다고 생각합니다. 그것이 만든 refs를 정리할 것입니다. 이 명령을 계속 실행할 수는 있지만 바이 섹션을 시작하기 전의 위치로 되돌아 갈 수 있습니다. 그러나 작업을 수행하기 전에 git status가 깨끗한 지 확인해야합니다. .

bash 프롬프트에서 __git_ps1을 사용하는 경우 (9dad0bb...)|BISECTING을 출력하면 여전히 양분 상태라는 것을 알 수 있습니다. 나는 another answer에 조금 __git_ps1을 언급했는데, 도움이 될지도 모른다.

+4

비교적 최근 버전의 힘내 버전에서는'git bisect reset HEAD'를 사용하여 커밋 전환을 피할 수 있습니다. – Cascabel

11

그건 bisect 중에 나쁜 것으로 표시된 커밋을위한 포인터입니다. 당신은

자식이

또는 수동이/.git/심판에서 포인터를 제거 양분 다시 양분 실행할 수 있습니다 (하지만 권장하지 않는)