n1ro°
RU

Компьютеры · Инструкция

Git показывает detached HEAD: как сохранить коммиты

Выполните `git status` и `git log --oneline -5`, чтобы увидеть HEAD и последние коммиты. Если нужные изменения ещё не за

Редакция N1RO · Проверено

Короткий ответ

Если вы сделали коммиты в detached HEAD, создайте ветку на текущем коммите через `git switch -c rescue-branch`; после этого коммиты получат обычную ссылку ветки и не потеряются при переключении.

Проверка по порядку

  • Выполните `git status` и `git log --oneline -5`, чтобы увидеть HEAD и последние коммиты.
  • Если нужные изменения ещё не закоммичены, сохраните их обычным commit или временно через `git stash`.
  • На нужном текущем коммите выполните `git switch -c rescue-branch`.

Исправление

  1. Если уже переключились, найдите SHA в reflog и создайте `git branch rescue-branch <sha>`.
  2. Проверьте `git log --decorate --oneline -5`: нужный SHA должен иметь имя новой ветки.
  3. Только после проверки переключайтесь на целевую ветку и переносите работу merge/cherry-pick при необходимости.

Как понять, что исправлено

  • git log --decorate показывает нужный SHA под новой веткой, а переключение веток больше не оставляет commit без имени.

Важно

Не переключайте ветки вслепую после новых commit в detached HEAD: сначала создайте ветку или запишите SHA, иначе найти работу придётся через reflog.

Что учитывать

Не переключайте ветки вслепую после новых commit в detached HEAD: сначала создайте ветку или запишите SHA, иначе найти работу придётся через reflog.

Источники и проверка

Фактическая часть сверена по первичным источникам (в т.ч. git-switch Documentation). Пример и формулировки — редакция N1RO на 2026-09-17.