Добавлены файлы, потерянные после `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?