Git: еще один потерянный пример? - PullRequest
2 голосов
/ 16 июля 2011

Я использую git через интерфейс eclipse (хотя один год я не очень уверен в этом).

У меня есть локальный репозиторий, который я время от времени отправляю в удаленный репозиторий.Другой разработчик делает то же самое.Сегодня я перенес последние 2 недели изменения в удаленный репозиторий.Толчок был отклонен.Поскольку я знаю, что другой разработчик работает над другой частью приложения, то, что я сделал, было извлечением удаленной ветви и следующим слиянием (щелкните мою ветку и объединитесь с удаленной).Был только небольшой конфликт, который я разрешил, затем снова нажал.

В этот момент я обнаружил, что потерял все изменения в моем локальном хранилище.В истории я вижу только последние коммиты, сделанные другими разработчиками поверх моего последнего толчка в удаленный репозиторий (2 недели назад).

Вся моя локальная история за последние две недели просто исчезла.Все изменения ушли.Нет последних журналов.Пробовал с помощью fsck, я вижу несколько файлов в lost-found.Другой разработчик не делал ничего похожего на rebase или подобное, просто нажмите.

Любая идея о том, что я сделал неправильно, и, что более важно, как это исправить ????Просто некоторые подсказки / рекомендации были бы очень полезны, я действительно под большим давлением ... спасибо

1 Ответ

9 голосов
/ 16 июля 2011

Попробуйте

git reflog

и посмотрите, есть ли в нем какие-либо ваши коммиты. Если это так, вы можете извлечь хеш коммита (скажем, a4b82) и создать там новую ветку:

git checkout -b new_branch_name a4b82

(И что бы вы ни делали, не запускайте "git gc", пока не найдете коммиты и не создадите для них ветку ...)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...