Bisecte para encontrar el compromiso que _fixed_ un error

El caso de uso normal para 'git bisect' es declarar el extremo de la reference como el estado 'malo' y search el último estado 'bueno' en la historia. Esto tiene sentido cuando se busca una confirmación que introdujo un error.

Sin embargo, a veces se descubre un error en el código anterior, que se corrige en la confirmación más reciente, y la pregunta es: ¿qué compromiso corrigió este error? Es posible usar git bisect con un sentido invertido de las palabras "bueno" y "malo", es decir, considerar el error fijo como el estado "malo" y el error como el estado "bueno". Pero eso es un poco confuso: podría ser más claro comenzar una bisección en un estado "bueno" y search un estado "malo". Pero a git no parece gustarle ese enfoque:

 $ 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? 

¿Cuál es una buena manera de manejar este caso?

Es posible que haya notado que git no se trata tanto de "aspecto bonito" como de "interfaz intuitiva". Adivinaste la respuesta y la forma correcta de git: solo piensa en arreglar como malo y no arreglarlo como bueno.

Como esto maneja perfectamente tu caso (less común) además de ser un poco feo, no necesita ser un soporte especial para él en git, y puedes asumir que nunca lo hará.