retroceder a ciertos compromisos y probar cuál es el problema

¿Hay alguna manera de mantener todos mis cambios ahora y aún invertir mi aplicación para un cierto compromiso y empezar a revisar todos los otros commits para ver cuál causó un problema en mi aplicación?

Hice un montón de cambios, y me llevó mucho time verificar todo, así que quiero get mis compromisos previos y cuando encuentre el problema, volveré al compromiso más reciente y luego solo aplicaré los cambios necesarios .

Aquí hay una respuesta: git revertir a cierto compromiso, pero aún quiero mantener todos mis cambios recientes, ¿puede alguien guiarme en el process de pensamiento?

Estoy pensando que si confirmo mis cambios más recientes ahora, está en bitbucket, entonces use el método: git reset --hard {commit numbers} y simplemente continúe revisando mi list de commits, y cuando encuentre el problema, git reset --hard {most recent commit} esto me llevará al estado más reciente?

Hay un command para lo que quiere hacer y se llama git bisect que usa búsqueda binaria para encontrar la confirmación que no ha estado funcionando. El process es

git bisect start

git bisect bad

git bisect <your last good commit here>

Aquí hay una guía bastante fácil de leer.

Esto le permitirá encontrar qué cometido causó el problema.

Confirme todos los cambios sin compromiso, limpie el tree de files sin seguimiento, luego puede hacer

 git checkout <some_commit_sha> 

para ir a esa confirmación específica, y luego git checkout master (u otra twig) para volver.

Simplemente no cometa nada, mientras se encuentra en estado "separado", si debe hacerlo, puede iniciar una sucursal allí y proceder como de costumbre