Inicio·Comandos de terminal

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ónSignificado
start <bad> <good>begin, naming a broken and a working commit
goodmark the checked-out commit as working
badmark it as broken
skipthis commit cannot be tested
run <cmd>let a command decide by its exit code
resetstop and go back to where you were

Ejemplos

git bisect start HEAD v1.1.0

starts the search between the last release and now

git bisect run npm test

finds the first failing commit with no further input

git bisect reset

ends 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