MyTetra Share
Делитесь знаниями!
О, смотри-ка какое хорошее место. Дайте два!
Git: Как исправить HEAD detached from
11.10.2014
10:55
Текстовые метки: git, HEAD, detached, status
Раздел: Компьютер - Программирование - Системы контроля версий (VCS) - Git

При работе с 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. удалить временную ветку



Еще один вариант, короткий


git checkout имяВеткиГдеВыНаходитесь


- эта команда переключит проект в последний коммит текущей ветки. Точнее, в состоянии detached head, проект не находится ни в какой ветке. git checkout branchname просто переключит проект на последний коммит той ветки, которая указана. Это значит, что до появления ошибки нужно знать, в какой ветке ты находишься. Для того чтобы посмотреть, где находился, можно воспользовтьася командой:


git reflog



Самый правильный вариант


git checkout HEAD@{1}



Так же в этом разделе:
 
MyTetra Share v.0.43
Яндекс индекс цитирования