Ved-форум поддержки

Программирование => Python => Тема начата: DigitalMag от Февраля 28, 2020, 11:34:31 am

Название: github: HEAD detached from
Отправлено: DigitalMag от Февраля 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. удалить временную ветку

Отсюда (https://webhamster.ru/mytetrashare/index/mtb0/1413010541hzh3175lej). Там же есть еще примеры.

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

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

git checkout HEAD@{1}
Для меня сработал первый вариант. В сети натыкался на отзывы, что последних два вариант могут привести к потере коммитов, созданных вне HEAD, но это не точно. Я лично решил не рисковать