Skip to main content

Що таке 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

Коротка відповідь допоможе вам впевнено відповідати на цю тему під час співбесіди.