Как я могу избавиться от всех изменений во всех файлах моего репозитория?
Скажем, я в ветке и внес некоторые изменения. git status
возвращает набор файлов в «Изменения, не предназначенные для фиксации», и я заметил, что хотел бы избавиться от всех этих изменений во всех файлах. Как я могу сделать это с помощью одной команды?
Я знаю, что могу сделать следующее, чтобы получить только один файл:
git checkout -- <file>
Я заметил, что git checkout --
одно только возвращает список всех незафиксированных файлов. Однако я не могу найти способ проверить их все, что-то вроде git checkout --all
.
Я проверил man git checkout
и ничего не нашел. Также я видел Git: Checkout все файлы, кроме одного, и пробовал, git checkout .
но тоже не работал.
Придется ли мне делать это программно, перебирая git checkout --
вывод?
источник
git checkout -- .
, сбросит только изменения состояния индекса. Итак, если вы уже добавили файлы в индекс, он будет сброшен до этого. С другой стороныgit reset --hard
, также будет отброшен индекс, поэтому, например, если у вас есть неотслеживаемые файлы, добавленные в индекс (чтобы начать их отслеживание), они также будут удалены.git checkout
также позволяет частично восстановить рабочий каталог, передав более конкретный путь, что может быть очень полезно.git checkout --force
,git reset --hard
Другой способ, который я нашел полезным:
Пример:
В более общем смысле:
источник
git checkout \*
илиgit checkout '*'
.