В жизни каждого программиста вы можете получить некоторые ошибки, которые кажутся необратимыми, например, удаление ветки GIT перед ее отправкой, или Git-rebase, который искажает нашу кодовую базу, или ошибочное слияние неправильной ветки с основной веткой и т. д.

В этом коротком рассказе я покажу вам, как программа Git дает нам инструмент для восстановления любого состояния, через которое прошла история нашего репозитория, и как его использовать.

Git рефлог

Git Reflog — не очень известная команда, но вы будете рады узнать, как ее использовать, если у вас случится катастрофа с кодом репозитория. Я могу гарантировать, что команда git reflog не раз спасала мой рабочий день.

Эта команда показывает историю всех событий, которые произошли в нашем git-репозитории локально. Кроме того, он показывает ссылку на статус кода в этот момент.

Давайте посмотрим, как это работает:

git reflog

В выводе консоли вы увидите все движения, которые произошли в вашем репо, начиная с первого коммита. На этом этапе вы можете перенести свой код в любой момент, записанный в истории refog. Вам нужно только сбросить до нужного указателя и создать новую ветку оттуда.

git checkout HEAD@{11}
git checkout -b before-disaster

Сейчас репозиторий находится в хорошо известном до катастрофы состоянии. Вы можете выпить кофе, расслабиться на пять минут и продолжить с осторожностью, чтобы снова не попасть в ту же ловушку.

Вывод

Git reflog — мощная команда в наборе инструментов Git. Как программисты, мы должны знать, как его использовать, потому что он может решить множество ошибок во многих странных случаях.

В любом случае, мы должны позаботиться о том, чтобы не испортить наши репозитории на Github, чтобы поддерживать чистые, удобочитаемые и описательные истории.

Надеюсь, вам понравился этот короткий трюк. Удачного кодирования!!