GIT: перестать отслеживать файл или папку

Иногда в процессе разработки возникает ситуация, когда файл или целая директория уже добавлены в репозиторий, но их больше не нужно отслеживать. Например:

  • вы по ошибке закоммитили файлы логов или временные данные;
  • в проекте появилась папка с кэшем;
  • какие-то данные должны оставаться только локально (например, настройки IDE).

В таких случаях важно убрать файл/папку из индекса GIT, но при этом оставить их на диске.

Убрать папку из отслеживания

Разбор команды:

  • git rm — удалить из индекса;
  • -r — рекурсивно по всем вложенным файлам и папкам;
  • --cached — удалять только из индекса, не трогая файлы в рабочей директории.

После этого папка my-folder останется на диске, но её содержимое больше не будет отслеживаться GIT.

Убрать все файлы внутри папки, но не саму папку

Иногда нужно оставить сам каталог в репозитории (например, uploads/ или storage/), но очистить его содержимое.

-- (две черты) — это специальный разделитель аргументов.

  • Он нужен, чтобы GIT понимал, что всё, что идёт после него, — это именно имена файлов/папок, а не опции команды.
  • Например, если у вас есть файл с именем --test.txt, без этого разделителя GIT подумает, что это флаг.
  • В нашем случае -- избыточен, но это рекомендованный приём безопасности, чтобы команды работали одинаково при любом имени пути.

Теперь папка будет пустой в репозитории, но сама директория сохранится.

Убрать отдельный файл из индекса

Точно также как и с папкой, только без флага -r (рекурсии).

Добавить в .gitignore

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

Итоговый порядок действий

  1. Удаляем ненужный файл/папку из индекса (git rm --cached).
  2. Делаем коммит с изменением.
  3. Добавляем путь в .gitignore, чтобы GIT больше не пытался отслеживать эти файлы.

Мало букафф? Читайте есчо !

Подключение к GitHub по SSH: пошаговая инструкция

Сентябрь 3, 2025 г.

Работа с репозиториями через SSH удобнее и безопаснее, чем по HTTPS — вам не нужно вводить пароль при каждом пуше, а авторизация выполняется с помощью криптографических ключей. Разберём процесс полностью: от создания ключа до проверки подключения. ...

Читать

Установка Wordpress через composer

Апрель 3, 2023 г.

WP так то и сам хорошо управляется с модулями и темами. Вы можете установить модули/темы через админку. Единственный не удобный момент - это первоначальное ...

Читать

Тонкости настройки в .gitignore

Июль 17, 2017 г.

Настройки в файле .gitignore позволяют исключить из списка файлов сканируемых GIT, все то что отслеживать не надо. Обычно это так называемые юзер-файлы, изображения, архивы, документация и т.п. В данной статье рассмотрим типовой случай настоек в .gitignore. ...

Читать

GIT workflow или как работать с проектом

Апрель 2, 2024 г.

Как использовать GIT, может зависеть от многих факторов, например как проходит тестирование, работает ли целая команда над проектом или один разработчик соло. Соло разработка Концепция работы с GIT в случае одного разработчика сводится обычно ...

Читать
 

Комментарии к «GIT: перестать отслеживать файл или папку»

Понравилась статья? Есть вопросы? - пишите в комментариях.



Комментарий: