Как мне вернуться в свою ветку после локальных изменений старого коммита?
Я пытался получить прежнюю копию моего кода с помощью 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
и вывод команд, которые вы уже пробовали, очень помог бы