Avanzadogit
Git Bisect: Caza de Bugs con Búsqueda Binaria
Encuentra el commit exacto que introdujo un bug en tiempo récord mediante el algoritmo de bisección.
¿Cómo funciona git bisect?
Si tu aplicación funcionaba bien hace 3 semanas pero hoy tiene un fallo y hay 300 commits en medio,
git bisect divide el historial a la mitad paso a paso ($O(\log n)$). En solo 8 o 9 pasos encontrarás al culpable.bash
1# 1. Iniciar la sesión de bisección
2git bisect start
3
4# 2. Indicar que el commit actual tiene el bug
5git bisect bad
6
7# 3. Indicar el último commit conocido donde todo funcionaba
8git bisect good v1.4.0
9
10# Git te moverá automáticamente al commit del medio.
11# Pruebas la app y respondes:
12git bisect good # si funciona bien
13# o:
14git bisect bad # si el bug persiste
15
16# Al finalizar, vuelves a tu estado original con:
17git bisect resetAutomatización total con git bisect run
Si tienes un test automatizado (por ejemplo en Jest, Vitest o Pytest), Git puede ejecutar la bisección de forma 100% autónoma en segundos.
bash
1git bisect start HEAD v1.0.0
2git bisect run npm test -- auth.test.ts