Encontrando el bug con git-bisect

Imagina que estás trabajando en un proyecto y un día te das cuenta de que algún componente ya no funciona. Los logs no dan ninguna pista sobre dónde está el problema. Hay tantas líneas de código para el componente que pasarías años depurándola. También es imposible identificar el error ejecutando pruebas. Pero hay un detalle importante, sabes que en la versión anterior el componente funcionaba bien. ¿Qué harías para identificar el código problemático?

Imagen de presentación del artículo con el texto git bisect

Seguramente podrías dar varias respuestas a esta pregunta, pero hoy vamos a hablar sobre una operación de git que te ayudará a resolver este problema: git bisect

Usando el comando git bisect podremos identificar el commit exacto que introdujo el error en nuestro software. Bajo el capó, git bisect realizará una búsqueda binaria tomando como punto de partida una versión buena y una versión con fallos.

Como ejercicio práctico he creado un repositorio en Github para seguir los siguientes pasos si quieres probar git bisect por ti mismo. No te preocupes, solo necesitas un terminal. El proyecto contiene solo un script bash que imprime si la versión está funcionando o si está fallando. De esa manera vamos a simular un caso real.