$ git bisect start 4d83cfcbaef648345571d77db867b6f9e4146ba7 85530fd2d876544a88564c26ff1a656c3ef6ea0c
Some good revs are not ancestors of the bad rev.
git bisect cannot work properly in this case.
Maybe you mistook good and bad revs?
git bisect [bad|new] # 标注当前节点是有问题的,向更早的记录折半查询
git bisect [good|old] # 标注当前节点是没有问题的,往后续提交的记录中折半查询
找到问题节点后,可以使用git bisect reset
切换到对应节点,但要注意:此时的分支是处于游离状态的(即:不在任一有效分支上)。
git bisect reset <问题节点> # 切到问题节点
git checkout -b <bugfix-xxx> # 针对当前节点切换创建一个有效分支
在临时有效分支上对问题进行修复,进行提交,再合并到主干分支中。
GitHub
上有人提供了一个小demo,供大家练习熟悉练习。