Страницы

Поиск по вопросам

вторник, 7 мая 2019 г.

Как найти detached коммиты?

Однажды откатился на какой-то безымянный коммит. И, не создавая новую ветку, сделал несколько новых коммитов.
После чего лазил через SourceTree и "случайно" перешёл на другую ветку. После чего Detached HEAD from 1f231656aabcd2... бесследно пропал.
Все решения ведут к
git reflog --all
Ищи там свой коммит, переходи туда (checkout), создавай новую ветку и мерж, или сразу мерж. Но я не могу найти там своих последних коммитов. Всё старьё.


Ответ

в выводе git reflog ищите строку "moving from".

пример сообщения о переходе от несвязанного ни с каким указателем (веткой или тегом) коммита к ветке master
$ git reflog ... 2217ae2 HEAD@{0}: checkout: moving from 70c48300c538de67deb020df43b036728c133187 to master ...
если теперь посмотреть
$ git log 70c48300
то видна вся последовательность коммитов, по цепочке связанных с искомым.

Комментариев нет:

Отправить комментарий