Как мне вернуться в ветку после локальных изменений старого коммита? - PullRequest
1 голос
/ 21 сентября 2010

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

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

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

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

Ответы [ 2 ]

2 голосов
/ 21 сентября 2010

Вы, безусловно, находитесь в режиме отсоединенная голова .
Это происходит, когда вы извлекаете коммит, который не находится на кончике одной из ваших веток (например, тег 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 »

0 голосов
/ 21 сентября 2010

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

...