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. создаем временную ветку с текущего положения HEAD
2. переключаемся на временную ветку
3. сбросить master до позиции в temp
4. переключиться на мастер
5. удалить временную ветку

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

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

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

git reflog

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

git checkout HEAD@{1}

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