如何在Git中删除“refs/bisect/bad”分支

11

我在我的 ~/.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个回答

13

这是二分查找中标记为坏的提交指针。你可以运行

git bisect reset

或者手动从.git/refs/bisect中删除该指针(但我不建议这样做)。


12
当你使用 git bisect 时,它会使用 refs/bisect/bad 来跟踪最后一个不良提交记录。当你运行 git bisect bad 时,该引用将被更新。
我怀疑在此处发生的事情是,你已经到达了二分查找的末尾,并报告了第一个不良提交记录,但你从未以 git bisect reset 结束二分查找,该命令将清除所创建的引用。你仍然可以运行该命令,并将您带回到开始二分查找之前的状态 - 但是,在执行此操作之前,请确保您的工作已提交并且git status干净,以避免任何可能的混淆。
如果你在bash提示符中使用 __git_ps1,它将有助于提示你仍然在二分查找中,输出 (9dad0bb...)|BISECTING。我在另一个答案中讨论了__git_ps1,这可能会有所帮助。

5
在相对较新的 Git 版本中,你还可以使用 git bisect reset HEAD 来避免切换提交记录。 - Cascabel

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接