Добавлены файлы, потерянные после `git review`?

Я использую git-обзор с Gerrit для просмотра кода.

Я только что столкнулся с довольно серьезной проблемой при использовании этого инструмента: я потерял свои изменения.

Вот что я сделал:

  • добавлены файлы с git add
  • забыли git commit
  • выполненный git review --reviewers johndoe

Все добавленные файлы теперь исчезли, изменения потеряны. git status говорит, что ничего не изменилось.

git review дал мне следующее сообщение:

"Никаких изменений между HEAD и origin/master. Отправка на проверку будет бессмысленной".

Как изменения могут быть потеряны? Есть ли способ вернуть?

1 ответ

Так как вы сделали git addУ Git все еще должны быть BLOB-объекты для ваших измененных файлов во внутренних структурах, но без их имен файлов. Есть способы восстановить их, но это потребует некоторого терпения и судебной работы с вашей стороны, связывая капли с тем, к какому файлу они принадлежат.

Внутреннее хранилище объектов Git описано здесь: https://git-scm.com/book/en/v2/Git-Internals-Git-Objects

Вы можете восстановить ваши измененные файлы с помощью git-recovery: https://github.com/ethomson/git-recover

Может помочь и обсуждение этого другого, но связанного с этим вопроса: что произойдет, если я прерву команду git add?

Другие вопросы по тегам