Файлы в рабочем каталоге Git можно отслеживать или нет.
Отслеживаемые файлы — это те, которые были добавлены и зафиксированы, и Git знает о них. Отслеживаемые файлы могут быть неизмененными, модифицированными или размещенными. Все остальные файлы в рабочем каталоге не отслеживаются, и git не знает об этих файлах.
Иногда ваш рабочий каталог git может быть загроможден ненужными файлами, которые либо автоматически сгенерированы, либо остались после слияния, либо созданы по ошибке. В таких ситуациях вы можете добавить эти файлы в .gitignore
или удалить их. Если вы хотите, чтобы репозиторий оставался чистым и красивым, лучше всего удалить ненужные файлы.
В этой статье объясняется, как удалить неотслеживаемые файлы в Git.
Содержание
Удаление неотслеживаемых файлов
Команда, которая позволяет удалить неотслеживаемые файлы, — это git clean
.
Всегда рекомендуется делать резервную копию вашего репозитория, потому что после удаления файлы и внесенные в них изменения не могут быть восстановлены.
Перед запуском фактической команды и удалением неотслеживаемых файлов и каталогов используйте параметр -n
, который выполнит «пробный запуск» и покажет вам, какие файлы и каталоги будут удалены:
git clean -d -n
Результат будет выглядеть примерно так:
Would remove content/test/
Would remove content/blog/post/example.md
Если некоторые из файлов, перечисленных выше, важны, вам следует либо начать отслеживать эти файлы с помощью git add <file>
либо добавить их в свой .gitignore
.
Если вы уверены, что хотите продолжить и удалить неотслеживаемые файлы и каталоги, введите:
git clean -d -f
Команда распечатает все успешно удаленные файлы и каталоги:
Removing content/test/
Removing content/blog/post/example.md
Параметр -d
указывает git удалять и неотслеживаемые каталоги. Если вы не хотите удалять пустые неотслеживаемые каталоги, опустите параметр -d
.
Параметр -f
означает силу. Если не используется и для переменной конфигурации Git clean.requireForce
установлено значение true, Git не удалит файлы.
Чтобы в интерактивном режиме удалить неотслеживаемые файлы, используйте параметр -i
:
git clean -d -i
Вывод покажет файлы и каталоги, которые нужно удалить, и спросит вас, что делать с этими файлами:
Would remove the following items:
content/test/ content/blog/post/example.md
*** Commands ***
1: clean 2: filter by pattern 3: select by numbers
4: ask each 5: quit 6: help
Выберите один из вариантов и нажмите Enter
.
Если вы хотите ограничить операцию очистки заданными каталогами, передайте пути к каталогам, которые нужно проверить на наличие неотслеживаемых файлов, в качестве аргументов команды. Например, чтобы проверить файлы в каталоге src
, вы должны запустить:
git clean -d -n src
Удаление игнорируемых файлов
Команда git clean
также позволяет удалять игнорируемые файлы и каталоги.
Чтобы удалить все игнорируемые и неотслеживаемые файлы, используйте параметр -x
:
git clean -d -n -x
Если вы хотите удалить только игнорируемые файлы и каталоги, используйте параметр -X
:
git clean -d -n -X
Приведенная выше команда удалит все файлы и каталоги, перечисленные в вашем .gitignore
и сохранит неотслеживаемые файлы.
Выводы
В этом руководстве мы показали вам, как удалить неотслеживаемые файлы и каталоги в Git. Не забывайте всегда запускать команду всухую перед фактическим удалением файлов.
Если у вас есть отзыв, оставьте комментарий ниже.