git bisect
git
Uso
git bisect start <bad> <good>Va partiendo el rango de commits en dos para encontrar el primero defectuoso; hay que terminar con git bisect reset, o te quedas en un commit desprendido.
Opciones habituales
| Opción | Significado |
|---|---|
| start <bad> <good> | begin, naming a broken and a working commit |
| good | mark the checked-out commit as working |
| bad | mark it as broken |
| skip | this commit cannot be tested |
| run <cmd> | let a command decide by its exit code |
| reset | stop and go back to where you were |
Ejemplos
git bisect start HEAD v1.1.0starts the search between the last release and now
git bisect run npm testfinds the first failing commit with no further input
git bisect resetends the session; skipping this leaves you on a detached commit
Lo confuso es que deshacer tiene varias formas: mover a dónde apunta una rama no es lo mismo que añadir un commit que la revierte.
Cómo leerlo
- Los corchetes [ ] marcan una parte que puedes omitir.
- Los puntos suspensivos … indican que puedes poner varios.
- Las opciones distinguen mayúsculas: en algunos comandos -r y -R no hacen lo mismo.
Preguntas
Q. ¿Qué hace git bisect?
Va partiendo el rango de commits en dos para encontrar el primero defectuoso; hay que terminar con git bisect reset, o te quedas en un commit desprendido.
Q. ¿Cómo se escribe?
git bisect start <bad> <good> — los corchetes marcan lo que puedes omitir.
Q. ¿Cuántas opciones vale la pena saber?
Aquí van 6; la lista completa está en man git. Este comando está en git.
Comandos relacionados
página man: man git-bisect