如何停止使用git bisect?

130

我前一段时间尝试了git bisect,它帮了我很大的忙,但显然我没有停止它。当我输入git status时,仍然得到以下信息:

You are currently bisecting.
(use "git bisect reset" to get back to the original branch)

我并不想重置到任何地方,我只是想停止二分查找。这实际上只是为了摆脱这个消息。

2个回答

175

git bisect reset是停止二分查找的命令。默认情况下,它会将HEAD重置回开始操作前的位置,但你也可以使用git bisect reset <commit>到达指定提交。

如果你只想停止二分查找而不改变提交历史,文档中建议使用git bisect reset HEAD

Bisect reset

在一个二分查找会话结束后,为了清理所有关于二分状态的信息并返回到原始的HEAD (即退出二分查找),使用以下命令:

$ git bisect reset

默认情况下,它会将你的代码库恢复到在执行git bisect start之前检出的提交上。(新的 git bisect start 命令执行时也会这样做,因为它会清理旧的二分状态.)

带有可选参数时,你可以返回到另一个提交:

$ git bisect reset <commit>

例如,git bisect reset HEAD 会留在当前的二分查找提交上而避免切换提交, 而 git bisect reset bisect/bad则会检出第一个坏点的修订版本。

来源: http://git-scm.com/docs/git-bisect


2
谢谢,它起作用了。我不确定 'git bisect reset HEAD' 是否也有这个问题,但当我执行 'git bisect reset <current commit>' 时,我处于分离的 HEAD 状态,所以我必须重新 checkout 我的分支。 - kodu
当我进行提交并推送该提交时,在二分查找期间,我需要做什么才能结束二分查找并停留在我的新提交(HEAD)上? - Gobliins
2
@Goblins git bisect reset HEAD -> @Goblins git bisect重置HEAD - penguin359

6
git bisect reset不能起作用,只需删除bisect文件即可:
$ rm -v .git/BISECT_*
removed '.git/BISECT_ANCESTORS_OK'
removed '.git/BISECT_LOG'
removed '.git/BISECT_NAMES'
removed '.git/BISECT_START'
removed '.git/BISECT_TERMS'

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