Оновлення 2019 року:
З липня 2019 року , там була нова команда , яка робить саме це: git restore.
В git status, тепер Git рекомендує використовувати цю команду замість того , щоб, git checkoutяк раніше.
Хоча ця команда також може бути використана для відновлення робочого дерева до певної комісії або для відновлення вмісту індексу, за замовчуванням робоче дерево відновляється до стану в індексі (про що тут задається запит).
Отже, щоб відновити файли, які відповідають шляху проспекту (позбувшись від їх нестандартних змін), слід зробити:
git restore <pathspec>
Наприклад, для відновлення всіх нестандартних змін у поточному каталозі ви можете запустити:
git restore .
Якщо запустити це з кореня проекту, він відновить усі нестандартні зміни у всьому сховищі.
Зауважте, що, як git checkout -- .і вказує (як зазначав Маріуш Новак), це скасує лише зміни у файлах, відслідковуваних Git, і не відкине будь-які нові незатребувані файли. Якщо ви хочете відмовитись від будь-яких нестандартних змін, включаючи нові незатребувані файли, ви можете запустити додаткову:
git clean -df
Будьте дуже обережні з цією пізнішою командою, однак ви можете відкинути файли, яких ви не збиралися позбуватися.
Примітка git restore. Оскільки це нова команда, її довідкова сторінка дає попередження:
Ця команда експериментальна. Поведінка може змінитися.
Тому можливо, що ця відповідь може застаріти, якщо поведінка зміниться в майбутньому. Таким чином, може бути розумним швидко пробігти man git-restoreперед його використанням.
git-cleanвидаляє лише невирішені файли з робочого дерева git-scm.com/docs/git-clean