Если бы вы использовали систему контроля версий , например Git или Mercurial и , следуйте нескольким рекомендациям :
- фиксация небольших автономных изменений (что включает в себя фиксацию, то есть сохранение изменений в системе контроля версий, часто)
- фиксация известного исправного состояния (или, по крайней мере, попытка, например, обеспечение компиляции кодаперед тем как совершить коммит)
вы всегда сможете вернуться в известное хорошее состояние.
Если ошибка была / была в ваших текущих изменениях, вы можете сравнить текущее состояние с предыдущей версией: где-то в измененных строках есть ошибка ... или что-то в измененных строках обнаружило существующую ошибку.
Если ошибка возникла в результате какого-то раннего, неизвестного коммита, вы можете использовать bisect для поиска в истории, чтобы найти первый коммит, в котором обнаружена данная ошибка: см., Например, git bisect
manpage.
HTH