如何恢复git bisect

时间:2017-12-20 12:51:15

标签: git git-bisect bisect

假设我正在通过git bisect,并且在运行git bisect bad命令后,我的git bisect会被中断:

$ git bisect bad
Bisecting: 0 revisions left to test after this (roughly 1 step)
error: Your local changes to the following files would be overwritten by checkout:
    app/app.iml
Please commit your changes or stash them before you switch branches.
Aborting

我可以通过运行:

简单地删除此文件
git checkout -- app/app.iml

这将使我的git状态再次清理..但我不确定如何继续(即让git bisect继续平分)..我相信我做了git bisect bad以前它有点跳过一步或做了一些我没想到的事情。我只是想恢复我的git bisect操作..怎么做?

2 个答案:

答案 0 :(得分:4)

git bisect goodgit bisect bad做的最后一件事是在下次提交测试时运行git checkout。这个git checkout本身就失败了。

git bisect尝试git checkout的修订版存储在特殊引用BISECT_EXPECTED_REV中。您可以清除失败的任何内容并运行git checkout BISECT_EXPECTED_REV来检查它。此时您需要恢复任何自动或手动测试。

答案 1 :(得分:1)

您始终可以编写git bisect log,它将输出到目前为止完成的所有二等分操作。

如果您保存此输出,则可以稍后使用git bisect replay <logfile>

重播该输出