practices - git rename tag
Bisecar todo, desde el compromiso inicial. (1)
Digamos que tengo un pequeño proyecto con un script de prueba muy rápido, y solo quiero dividir todo, desde el compromiso inicial hasta el compromiso de curret. ¿Cómo puedo hacer eso?
Para aclarar, no quiero perder tiempo identificando un compromiso que es bueno y un compromiso que es malo, por lo que estoy buscando una forma rápida de marcar el último compromiso como malo y el compromiso inicial como bueno.
git bisect start
git bisect good
git bisect bad `git rev-list --max-parents=0 HEAD`
git bisect run ./test.sh
O incorpore estos comandos en un alias, por ejemplo:
bisect-all = !git bisect start && git bisect bad &&/
git bisect good `git rev-list --max-parents=0 --first-parent HEAD`
Y luego solo usa git bisect-all
, git bisect run ./test.sh
.
Crear un alias para manejar todo el proceso es un poco más complicado:
quick-bisect = !sh -c ''git bisect start && git bisect bad &&/
git bisect good `git rev-list --max-parents=0 --first-parent HEAD` &&/
git bisect run "$@" && git bisect reset'' -
Pero con eso, simplemente puede ejecutar git quick-bisect ./test.sh
.
Si está utilizando una versión de git anterior a 1.7.4.2, no tendrá la opción --max-parents
, por lo que deberá usar algo como git rev-list HEAD | tail -n 1
git rev-list HEAD | tail -n 1
lugar.