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

时间:2011-03-11 10:34:41

标签: 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

当我执行git log时,它会显示包含分支名称和内容的完整提交树。昨天我发起了一个git bisect,今天我看到我的日志输出中有一个refs/bisect/bad分支。

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

2 个答案:

答案 0 :(得分:12)

这是在bisect期间标记为bad的提交指针。你可以运行

  

git bisect reset

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

答案 1 :(得分:10)

当您使用git bisect时,它会使用refs/bisect/bad来跟踪上次错误提交。 (当您执行git bisect bad时,该引用会更新。)

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

如果您在bash提示符中使用__git_ps1,则会通过输出(9dad0bb...)|BISECTING来帮助您保持平分。我在another answer中讨论了__git_ps1,这可能会有所帮助。