如何摆脱Git中的"refs/bisect/bad"分支

Kos*_*tas 8 git git-bisect

我有以下内容~/.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
Run Code Online (Sandbox Code Playgroud)

当我这样做时git log,它会向我显示带有分支名称和内容的完整提交树.昨天我发起了一个git bisect,今天我看到refs/bisect/bad我的日志输出中有一个分支.

究竟是什么refs/bisect/bad分支,我该如何摆脱它?

Raf*_*cki 12

这是在bisect期间标记为bad的提交指针.你可以跑

git bisect重置

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


Mar*_*air 10

当您使用时git bisect,它用于refs/bisect/bad跟踪上次错误提交.(当你这样做时,ref会更新git bisect bad.)

我怀疑这里发生的事情是你到了bisect的末尾,它报告了第一个错误的提交,但是你从未结束过二分git bisect reset,这会清理它创建的引用.您仍然可以运行该命令,并且它会在开始分割之前将您带回到您所处的位置 - 但是,我确保您的工作已经完成并且git状态是干净的,然后再这样做,以避免任何可能的混淆.

如果你__git_ps1在bash提示符中使用它,它将有助于指出你仍然处于输出的二等分中(9dad0bb...)|BISECTING.我__git_ps1另一个答案中讨论了一些,这可能会有所帮助.

  • 在相对较新版本的Git中,您还可以使用`git bisect reset HEAD`来避免切换提交. (4认同)