git checkout
не перезаписывает вашу рабочую копию за счет дизайна.
Он работает так же, как и git reset --hard
, но с важным отличием - git checkout
является безопасным рабочим каталогом , поэтому он не перезаписывает существующие изменения в вашем рабочем каталоге. На самом деле, он немного умнее - он пытается выполнить тривиальное слияние в рабочем каталоге.
Так что, если вы хотите отменить все ваши изменения и просто получить снимок от HEAD, используйте git reset --hard HEAD
или просто git reset --hard
.
Но даже git reset --hard
не удаляет ваши неотслеживаемые файлы. Чтобы удалить неотслеживаемые файлы:
- Выполнить
git clean --dry-run
. Это просто говорит вам, что будет удалено. Сделайте это, потому что очистка - опасная команда.
- Запустите
git clean --force
, чтобы в конечном итоге удалить неотслеживаемые файлы.
Более подробную информацию о git checkout
и git reset
можно найти здесь и об очистке здесь .