Как избавиться от веток "refs / bisect / bad" в Git - PullRequest
8 голосов
/ 11 марта 2011

В моем ~/.gitconfig есть следующее (это только здесь, чтобы помочь вам понять, на что я смотрю) :

[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 и как мне от нее избавиться?

Ответы [ 2 ]

12 голосов
/ 11 марта 2011

Это указатель на коммит, помеченный как плохой во время деления.Вы можете запустить

git bisect reset

или вручную удалить указатель из .git / refs / bisect (но я не рекомендую это сделать)

10 голосов
/ 11 марта 2011

Когда вы используете git bisect, он использует refs/bisect/bad для отслеживания последнего неверного коммита.(Эта ссылка обновляется, когда вы делаете git bisect bad.)

Я подозреваю, что здесь произошло то, что вы добрались до конца деления, и он сообщил о первом неудачном коммите, но вы никогда не заканчивали деление пополамс git bisect reset, который очистит ссылки, которые он создал.Вы по-прежнему можете запустить эту команду, и она вернет вас туда, где вы были до начала деления пополам, - однако я бы позаботился о том, чтобы ваша работа была зафиксирована, а состояние git было чистым, прежде чем делать это, просто чтобы избежать возможной путаницы.

Если вы используете __git_ps1 в приглашении bash, он предупредит вас, что вы все еще пополам, выдав (9dad0bb...)|BISECTING.Я немного обсудил __git_ps1 в другом ответе , который может быть полезен.

...