Se você está procurando um bug em uma série de commits dentro do git, considere usar git-bisect para acelerar o processo. git bisect start
irá iniciar o processo no HEAD, e git bisect bad
/ git bisect good
irá marcar o HEAD atual como bugado (ou não) e mudar o HEAD para o próximo commit.
Você geralmente começará marcando o HEAD atual como com erros e algum outro commit anterior como bom via git bisect good $sha1
. O próximo commit definido como HEAD será equidistante entre o último commit “livre de bug” conhecido e o commit com bugs conhecido, ou seja, usando um algoritmo de busca binária Você repete marcando cada novo commit no HEAD como bom ou ruim até que você tenha um único commit que deve (ahem!) conter o bug.
Se não tiver certeza sobre o HEAD atual, você pode usar git bisect skip
.
Um dos meus colegas notou que git-bisect é tão bom que vale a pena aprender a programar para poder usá-lo. Às vezes, as coisas mais simples são as melhores.
git-bisect
pode ser usado de outras maneiras interessantes, como por meio de um script que avalia como bom / ruim / ignorar.
Você pode ler mais aqui: http://git-scm.com/book/en/Git-Tools-Debugging-with-Git