The normal use case for 'git bisect' is to declare the tip of the reference the 'bad' state, and search the history for the lastest 'good' state. This makes sense when searching for a commit that introduced a bug.
However, sometimes a bug is discovered in older code, which is fixed in the newest commit, and the question is: which commit fixed this bug? It is possible to use git bisect
with a reversed sense of the words "good" and "bad", i.e. consider the fixed bug to be the "bad" state and the bug to be the "good" state. But that's a little confusing - it might be more clear to start a bisect at a "good" state and search back for a "bad" state. But git doesn't seem to like that approach:
$ 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?
What's a good way to handle this case?