Автор Тема: github: HEAD detached from  (Прочитано 2794 раз)

DigitalMag

  • Юный джедай
  • **
  • Сообщений: 89
  • Репутация +6/-0
    • Просмотр профиля
github: HEAD detached from
« : Февраль 28, 2020, 11:34:31 am »
При работе с Git может возникнуть такая ситуация: команда git push не заливает изменения на сервер, а команда git status показывает:

$ git status
HEAD detached from 87dc87b

Это может означать, что вы делали какую-то навигацию по истории коммитов, и неправильно вернулись к последнему коммиту.
Исправить эту проблему можно 4-мя командами:

git branch temp
git checkout temp
git branch -f master temp
git checkout master

И, опционально,

git branch -d temp
Что при этом происходит:

1. создаем временную ветку с именем temp, причем в новой ветке будет правильно установлено положение HEAD
2. переключаемся на временную ветку temp
3. в ветке master устанавливается та же позиция HEAD, что и в ветке temp
4. переключиться на ветку master

И опционально:

5. удалить временную ветку

Отсюда. Там же есть еще примеры.

PS: сама ошибка возникает, т.к. проект находится вне веток. Так что возможно сработает и этот вариант:

git checkout имяВеткиГдеВыНаходитесь
либо в статье еще предлагается такой вариант, но на текущий момент я не имею квалификации понять, что он делает:

git checkout HEAD@{1}
Для меня сработал первый вариант. В сети натыкался на отзывы, что последних два вариант могут привести к потере коммитов, созданных вне HEAD, но это не точно. Я лично решил не рисковать
« Последнее редактирование: Февраль 28, 2020, 11:39:10 am от DigitalMag »