Компьютеры · Инструкция
Git показывает detached HEAD: как сохранить коммиты
Выполните `git status` и `git log --oneline -5`, чтобы увидеть HEAD и последние коммиты. Если нужные изменения ещё не за
Короткий ответ
Если вы сделали коммиты в detached HEAD, создайте ветку на текущем коммите через `git switch -c rescue-branch`; после этого коммиты получат обычную ссылку ветки и не потеряются при переключении.
Проверка по порядку
- Выполните `git status` и `git log --oneline -5`, чтобы увидеть HEAD и последние коммиты.
- Если нужные изменения ещё не закоммичены, сохраните их обычным commit или временно через `git stash`.
- На нужном текущем коммите выполните `git switch -c rescue-branch`.
Исправление
- Если уже переключились, найдите SHA в reflog и создайте `git branch rescue-branch <sha>`.
- Проверьте `git log --decorate --oneline -5`: нужный SHA должен иметь имя новой ветки.
- Только после проверки переключайтесь на целевую ветку и переносите работу 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.