TGViewer
Java Portal | Программирование Java Portal | Программирование @java_iibrary · 11.7K subscribers
Post #2375 1.7K
Backend interview task:

Разработчик выполнил:
git reset --hard HEAD~1


После этого запаниковал — команда удалила коммит
с 3 часами работы.

Можно ли восстановить изменения?
A) Нет — hard reset навсегда удаляет коммиты
B) Да — git reflog хранит недавние позиции HEAD, оттуда можно восстановиться
C) Да — но только если коммит был запушен в remote
D) Нет — только при наличии локального бэкапа

Правильный ответ: B

git reset --hard удаляет ссылку на коммит из текущей ветки, но сам объект коммита обычно ещё остаётся в локальном репозитории.

Восстановление:
git reflog


Git покажет историю перемещений HEAD:
abc1234 HEAD@{1}: commit: add payment retry logic
def5678 HEAD@{0}: reset: moving to HEAD~1


Дальше можно вернуть состояние:
git reset --hard abc1234


или создать новую ветку:
git checkout -b recovery abc1234


Пока не сработал garbage collector и объекты не были очищены, коммит восстанавливается без проблем.

👉 Java Portal
  • 👍 11
More from @java_iibrary
  1. Sep 23, 2026Готовимся к System Design интервью уровня Middle и Senior Полезный конспект по проектирова…
  2. Sep 23, 2026Java-разработчики, знаете разницу между Shallow Copy и Deep Copy? Вы копируете объект, но…
  3. Sep 22, 2026Java-разработчики: Почему ArrayList увеличивает свою ёмкость примерно на 50%, когда заканч…
  4. Sep 22, 2026Прогрев от Java-бабули 🙂 👉 Java Portal
  5. Sep 21, 2026Шпаргалка по проектированию веб систем System Design 101 Подробное руководство по архитект…
  6. Sep 21, 2026💡 Java/Spring: отдавайте предпочтение constructor injection вместо @Autowired для полей.…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →