Удаление файлов без репозитория с помощью git?


101

Я пишу код Autotools, и в процессе разработки генерируются тонны файлов.

Есть ли способ указать git удалить все файлы из каталога, которые не являются частью репозитория?

Ответы:


183

Вы можете использовать git-clean . Эта команда удалит неотслеживаемые файлы / каталоги. По умолчанию он печатает только то, что было бы удалено, без фактического удаления.

Учитывая -fфлаг для удаления файлов и -dфлаг для удаления пустых каталогов:

git clean -df

Также удаление игнорируемых файлов:

git clean -dfx

37
Добавьте сюда, -xи все будет так же хорошо, как только что клонированное репо.
Дастин

2
Я думал, он имел в виду удаление файлов из git, а не из самой файловой системы, упс!
Эндрю Маршалл

Сама по себе команда git cleanфактически удалит все неотслеживаемые файлы, за исключением случаев, когда для переменной конфигурации Git clean.requireForce установлено значение true. Если для него установлено значение false, то -ff необходим для очистки директорий
Адам

6
Последние версии git выдадут ошибку без каких-либо параметров; По умолчанию requireForce имеет значение true, поэтому для выполнения сухого выполнения вам нужно -n
Себ

1
отслеживание @Dustin: git clean -ixпокажет вам, что он будет очищать, и предоставит вам меню параметров. Мой любимый.
wcochran
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.