Оновлення 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