'git bisect' 的正常用例是将引用的尖端声明为 'bad' 状态,并在历史记录中搜索最新的 'good' 状态。在搜索引入错误的提交时,这是有道理的。
但是,有时会在较旧的代码中发现错误,并在最新的提交中修复,问题是:哪个提交修复了这个错误?可以使用git bisect
“好”和“坏”两个词的相反含义,即认为已修复的错误是“坏”状态,而错误是“好”状态。但这有点令人困惑 - 从“好”状态开始平分并搜索“坏”状态可能更清楚。但 git 似乎不喜欢这种方法:
$ git bisect start
$ git bisect good
$ git checkout <commit with known bug>
$ git bisect bad
Some good revs are not ancestor of the bad rev.
git bisect cannot work properly in this case.
Maybe you mistake good and bad revs?
处理这种情况有什么好的方法?