Тур по Git
Основы Git / Урок 1.12

git clean --- Удаление неотслеживаемых файлов

После экспериментов, генерации артефактов сборки или создания временных файлов ваша рабочая директория может заполниться неотслеживаемым мусором. git clean удаляет неотслеживаемые файлы, чтобы вы могли начать с чистого листа.

Почему не просто rm?

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

Страховка: пробный запуск

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

git clean -n

Эта команда выводит, что будет удалено, не удаляя ничего на самом деле:

Would remove temp.log
Would remove experiment.js
Would remove scratch/

Внимательно просмотрите список перед продолжением.

Принудительная очистка

Убедившись, что пробный запуск показывает правильный результат, используйте -f для фактического удаления:

git clean -f

Это удаляет все неотслеживаемые файлы. Директории остаются, если не добавить -d:

git clean -fd

Полезные комбинации флагов

  • git clean -n --- Пробный запуск, показывает, что будет удалено
  • git clean -f --- Удалить неотслеживаемые файлы
  • git clean -fd --- Удалить неотслеживаемые файлы и директории
  • git clean -fx --- Удалить неотслеживаемые файлы, включая совпадающие с .gitignore
  • git clean -fX --- Удалить только файлы, совпадающие с .gitignore (артефакты сборки, кэши)

Когда использовать git clean

  • После экспериментов, которые вы хотите отбросить
  • Очистка сгенерированных файлов перед новой сборкой
  • Сброс рабочей директории в известное состояние
  • В паре с git checkout -- . для полного восстановления всего до последнего коммита

Попробуйте!

  1. Создайте несколько неотслеживаемых файлов:
    • echo "temp" > temp.log
    • echo "junk" > scratch.txt
    • mkdir debris && echo "noise" > debris/noise.txt
  2. Выполните пробный запуск: git clean -nd
    • Убедитесь, что перечислены все три элемента
  3. Принудительная очистка: git clean -fd
    • Выполните git status --- неотслеживаемые файлы исчезли
  4. Убедитесь, что отслеживаемые файлы по-прежнему на месте

Частая ошибка

Пропуск пробного запуска --- Запуск git clean -f без предварительного -n может безвозвратно удалить файлы, которые вы хотели сохранить. Неотслеживаемые файлы не находятся в истории Git, поэтому восстановить их невозможно. Всегда сначала делайте пробный запуск.

🎯

Цель

Используйте git clean для удаления неотслеживаемых файлов

Terminal
$

No commits yet. Run `git init` and create your first commit.