Как мне вернуться в свою ветку после локальных изменений старого коммита?

Я пытался получить прежнюю копию моего кода с помощью git checkout команда. Прежде чем использовать это, я зафиксировал последнюю версию кода, используя git commit,

После использования git checkout до предыдущей версии я внес изменения в код. Теперь Git сообщает мне, что, поскольку я внес изменения, я больше не могу вернуться к той самой последней версии, которую я зафиксировал.

Меня не волнуют изменения, которые я внес в этот код, который я извлек, я просто хочу вернуться к самой последней версии кода. Как мне это сделать?

Используя команду git log больше не показывает, что самая последняя версия до извлечения предыдущей версии.

2 ответа

Решение

Вы наверняка находитесь в режиме отстраненной головы.
Это происходит, когда вы извлекаете коммит, который не находится на кончике одной из ваших веток (например, тег, git checkout V1.0).

http://marklodato.github.com/visual-git-guide/checkout-b-detached.svg

Вы можете отказаться от своих временных коммитов и слияний, переключившись обратно на существующую ветку (например, git checkout master).
Вы также можете использовать git reset: см. В чем разница между "git reset" и "git checkout"?, а также " HEAD и ORIG_HEAD в Git"

Ты можешь использовать git reset --hard HEAD выбросить все ваши изменения, которые вы не зафиксировали, в том числе на диске, но трудно сказать, хотите ли вы этого. Опубликовать вывод git status и вывод команд, которые вы уже пробовали, очень помог бы

Другие вопросы по тегам