Ответ 1
Если вы уверены, что не хотите сохранять свои изменения, выполните следующую строку:
git checkout -f 'ABCD'
Параметр '-f' обозначает силу.
Хотя название похоже на предыдущие вопросы, я не смог найти решение для моего простого случая:
git commit -a .....
git checkout 2387687326487
git checkout 'ABCD'
дает ошибку:Ваши локальные изменения в следующие файлы будут перезаписаны с помощью checkout.... пожалуйста, скопируйте или запишите...
в то время как я не хочу совершать или хранить или что-то еще. Я просто хочу вернуться домой:), что мне делать, пожалуйста?
Если вы уверены, что не хотите сохранять свои изменения, выполните следующую строку:
git checkout -f 'ABCD'
Параметр '-f' обозначает силу.
Используя только
git checkout .
отменит любые незафиксированные изменения в текущем каталоге (точка означает текущий каталог).
ИЗМЕНИТЬ в ответ на @GokulNK:
Если вы хотите сохранить эти изменения для будущего использования, у вас есть 2 варианта:
git stash
: это сохранит эти изменения в стеке. Вы можете применить изменения к своей рабочей копии позже, используя git stash pop
git diff > changes.patch
: Это сохранит эти изменения в файле changes.patch
. Если вы хотите применить их к своей рабочей копии, вы можете сделать это: git apply changes.patch
.Чтобы отменить локальные изменения и вернуться в состояние из фиксации, вы можете:
git reset --hard
Помимо упомянутых решений вы можете сохранить изменения
git stash
Оформить свою ветку
git checkout 'ABCD'
И в конце концов, когда вы уверены, что вам ничего не нужно из спрятанных изменений, и дважды проверили с помощью gitk
или gitg
, выбросьте тайник:
git stash drop
Это мой предпочтительный способ, так как он безопаснее.