Поскольку ни один ответ не предлагает точную комбинацию опций, которую я использую, вот она:
git clean -dfx
git checkout .
Это текст интерактивной справки для используемых git clean
параметров:
-d
Удалите неотслеживаемые каталоги в дополнение к неотслеживаемым файлам. Если неотслеживаемый каталог управляется другим Git-репозиторием, по умолчанию он не удаляется. Используйте параметр -f
дважды, если вы действительно хотите удалить такой каталог.
-f
Если переменная конфигурации Git clean.requireForce
не установлена на false
, Git clean откажется от удаления файлов или каталогов, если не указано -f
, -n
или -i
. Git откажется от удаления каталогов в подкаталоге или файле .git
, если не указан второй -f
.
-x
Не используйте правила игнорирования из .gitignore
(для каждого каталога) и $GIT_DIR/info/exclude
, но все равно используйте правила игнорирования, заданные с опциями -e
. Это позволяет удалить все неотслеживаемые файлы, включая продукты сборки. Это можно использовать (возможно, в сочетании с git reset
) для создания нетронутого рабочего каталога для тестирования чистой сборки.
Кроме того, git checkout .
необходимо сделать в корне репо.