Що таке reflog і навіщо він потрібен?
git reflog - це журнал переміщень вказівника HEAD і гілок у локальному репозиторії.
Він зберігає інформацію про те:
- куди вказував HEAD
- які команди змінювали стан репозиторію
- які коміти були поточними раніше
Навіщо потрібен reflog
reflog дозволяє:
- відновити коміти після
reset - знайти втрачені коміти після
rebase - повернутися до стану до помилкової команди
- відновити роботу після
checkoutабоcommit --amend
Головне призначення:
reflog - це «страховка» від втрати історії в локальному репозиторії.
Що важливо знати
reflogлокальний - не передається черезpush- зберігається обмежений час (за замовчуванням ~90 днів)
- містить навіть ті коміти, які більше не доступні через
git log
Приклад використання
bash
git reflogВивід показує список станів HEAD:
text
HEAD@{0} reset: moving to HEAD~1
HEAD@{1} commit: add featureМожна повернутися до стану:
bash
git checkout HEAD@{1}або
bash
git reset --hard HEAD@{1}Ключове формулювання для співбесіди
git reflog- це локальний журнал змін HEAD, який дозволяє відновити коміти і стан репозиторію після reset, rebase та інших небезпечних операцій.
Коротка відповідь
Для співбесідиPremium
Коротка відповідь допоможе вам впевнено відповідати на цю тему під час співбесіди.