2010-08-31 2 views
2

Я подозреваю, что выполнил неправильную поправку (B ') последнего фиксации (B), из-за чего вся моя работа в последнем фиксации (B) исчезла.найти все незапланированные фиксации в git?

A 
    | 
    B [master] 

amend to 
    A 
/| 
    B B' 
    [master] 

Я думаю, что если я не делать каких-либо GIT дс, мой оригинальный «исправить» совершить (В) должен еще в хранилище. Однако, поскольку он не передается напрямую/косвенно никаким рефлектоном, я не могу его найти. Есть ли способ, которым я могу перечислить такой «непринятый» коммит в git, чтобы я мог извлечь свою работу из этой фиксации?

Благодаря

ответ

3

Да, reflog является то, что вы ищете. В журнале reflog хранится запись предыдущего значения ветки при каждом изменении заголовка отделения.

+2

Если вам удалось попасть туда, где коммит еще не включен в reflog, есть еще надежда - это работа для 'git fsck', которая может отображать оборванные объекты! – Cascabel

Смежные вопросы