>_ IzzyLab

Практическое задание

Вычисти только игнорируемый мусор

сложно

В /root/repo после сборки скопился мусор. Есть отслеживаемые файлы (src.c, .gitignore), есть игнорируемые артефакты сборки (app.o, cache.tmp, каталог build/) и есть неотслеживаемые, но нужные файлы, которых нет в .gitignore (keep.txt, notes.md). Удали из рабочего дерева весь игнорируемый мусор и только его: отслеживаемые файлы и неотслеживаемые-нужные должны остаться нетронутыми.

Что потренируешь:
  • git clean
  • неотслеживаемые файлы
  • gitignore
  • сухой прогон
  • чистка рабочего дерева

Разбор темы

git clean удаляет из рабочего дерева неотслеживаемые файлы, но по умолчанию щадит те, что подпадают под .gitignore. Ключевой момент — регистр флага области: строчный вариант сносит вообще все неотслеживаемые файлы (включая нужные), а заглавный ограничивает удаление только игнорируемыми артефактами. Дополняют его флаги подтверждения и захода в подкаталоги. Перед реальным удалением стоит прогнать команду в режиме сухого прогона (-n), чтобы увидеть список кандидатов и убедиться, что нужные файлы в него не попали.

Что проверяется

  1. игнорируемый мусор удалён
  2. нужные файлы сохранены

Как это выглядит