Для удобства я бы предложил здесь использовать команду bisect
.
Конечно, вы могли бы оформить заказ, один за другим, ваши коммиты, переходя назад от HEAD
пока вы не найдете точку разрыва, но bisect
предназначена для облегчения самого этого процесса.Таким образом, сотни коммитов можно довольно быстро разбить на несколько шагов.
В основном, он использует принцип поиска по дихотомии, проверяя фиксацию между двумя точками времени (в вашем случае, междутеперь и точка, в которой вы отошли от мастера), позволяя вам запускать любые необходимые вам тесты, а затем ждать, пока вы не решите считать коммит «плохим» (если ваша ошибка присутствует в этой точке временной шкалы) или «хорошим»"(если ошибка еще не покажет ).Затем он повторяет процесс, итеративно, пока вы не найдете фиксацию, вызвавшую проблему.
# to start the search
git bisect start
# to tag the present commit as "good"
git bisect good
# to tag the present commit as "bad"
git bisect bad
# to exit bisect mode and return to just before "bisect start"
git bisect reset
( tag , используемый здесь в разговорном смысле, конечно, настоящий git-тег здесь не используется, ни легкий, ни аннотированный)
Взгляните на doc (некоторые другие подкоманды bisect
удобны, как bisect log
), сделайте глубокий вдох, захватите фаруи пойти на это.