Восстановление удаленного комита

Git никогда не удаляет коммиты полностью из репозитория. Если сделать git reset --hard commitHash то commit является "отвязаным", т.е. висит в системе без привязки к веткам.

git log --oneline //не покажет нам отмененный коммит

Для того, чтобы увидеть такие коммиты поможет комманда:

git reflog

52a12r7 HEAD@{0}: reset: moving to 52a1

77e21e4 HEAD@{1}: commit: added new important feature

Итак, восстановить отвязанный от ветки коммит можно ресетом до предыдущих изменений:

git reset --hard 77e21 или git reset hard HEAD@{1}

git log --oneline //коммит вернулся в историю

Восстановление удаленной ветки

git log --walk-reflogs //Поможет нам найти коммит где была удалена ветка

Из этого лога мы найдем хэш коммита с удалением или алиас этого комита HEAD@{\d}

git branch newbranchname HEAD@{1} //создаем новую ветку из удаленного комита

Написано 20 ноября 2016 в 08:18

0 комментариев


Вы должны быть авторизованы, для того, чтобы оставлять свои комментарии.

Войдите через соц.сети

или через почту здесь