Отменить все незакоммиченные изменения в рабочем каталоге поможет команда
git reset --hard
PS. Немного подумав мне теперь нравится такой универсальный и более корректный способ.
git restore --source=хеш_коммита --staged --worktree .
Затем не забудьте закоммитить новые изменения.
Указывая
--source=хеш_коммита
, вы говорите Git использовать содержимое файлов из этого коммита.
Флаг
--staged
значит, что изменения будут сразу проиндексированы, как если бы вы их добавили с помощью
git add
. Этот флаг особенно полезен, если вы хотите сбросить изменения, которые уже были добавлены в индекс, но ещё не закоммичены.
Флаг
--worktree
указывает Git восстановить файлы в рабочем каталоге до состояния указанного коммита. Это означает, что любые незакоммиченные изменения в рабочих файлах будут сброшены, и файлы будут восстановлены до состояния, соответствующего указанному коммиту.
Точка в конце команды указывает, что операция восстановления должна быть применена ко всем файлам в текущем каталоге и его подкаталогах. Это значит, что все файлы в проекте будут восстановлены до состояния, соответствующего указанному коммиту.