Допустим, вы работаете над проектом и через день или около того. Вы заметили, что одна функция все еще дает вам ошибки. Но вы не знаете, какое изменение вы сделали, что привело к ошибке. Таким образом, вы должны ловить рыбу предыдущих рабочих коммитов. Чтобы вернуться к определенной фиксации:
git checkout 8a0fe5191b7dfc6a81833bfb61220d7204e6b0a9 .
Хорошо, так что коммит работает для вас. Нет больше ошибок. Вы определили проблему. Теперь вы можете вернуться к последнему коммиту:
git checkout 792d9294f652d753514dc2033a04d742decb82a5 .
И извлечение конкретного файла до того, как он вызвал ошибку (в моем случае я использую пример Gemfile.lock):
git checkout 8a0fe5191b7dfc6a81833bfb61220d7204e6b0a9 -- /projects/myproject/Gemfile.lock
И это один из способов обработки ошибок, созданных вами при фиксации, без осознания ошибок до позднего времени.