Gitx Как мне получить свою "Отдельную HEAD", которая возвращается в мастер
Используя Git X и, должно быть, по каким-то причинам пошатнулся. Похоже, несколько дней назад я создал ветвь с именем detached HEAD
и выполнял ее. Мой обычный процесс заключается в фиксации master
, а затем нажмите на origin
. Но я не могу нажать detached HEAD
.
Моя следующая остановка напортачила меня. Я выбрал git checkout master
- и моя ветвь detached HEAD
исчезла. Возвращаясь к моему проекту, все мои изменения за последние несколько дней были уничтожены.
Есть ли способ вернуть эти изменения?
Ответы
Ответ 1
Если бы checkout master
было последним, что вы сделали, то reflog entry [email protected]{1}
будет содержать ваши коммиты (в противном случае используйте git reflog
или git log -p
, чтобы найти их). Используйте git merge [email protected]{1}
, чтобы переслать их в мастер.
EDIT:
Как отмечено в комментариях, Git Готово имеет отличную статью.
git reflog
и git reflog --all
предоставят вам хэши фиксации ошибочных коммитов.
![Git Ready: Reflog, Your Safety Net]()
Источник: http://gitready.com/intermediate/2009/02/09/reflog-your-safety-net.html
Ответ 2
Если ваш отсоединенный HEAD является быстрым переходом от мастера, и вы просто хотите, чтобы коммиты были выше по течению, вы можете
git push origin HEAD:master
для прямого нажатия или
git checkout master && git merge [ref of HEAD]
объединит его обратно в локальный мастер.