Игнорирование файлов
В процессе работы над любым проектом в директории с кодом создаются файлы, которые не являются частью исходного кода. Все эти файлы можно условно разделить на несколько групп:
Инструментарий
Служебные файлы, добавляемые операционной системой — например, .DS_Store в MacOS
Конфигурационные и временные файлы редакторов — например, .idea или .vscode
Временные файлы
Логи — в них содержится полезная информация для отладки, которая собирается во время запуска и работы приложения
Кеши — файлы, которые нужны для ускорения разных процессов
Артефакты
Результаты сборки проекта — например, после компиляции или сборки фронтенда
Зависимости, которые устанавливаются во время разработки — например, node_modules или vendor
Результаты выполнения тестов — например, информация о покрытии кода тестами
Все это в обычной ситуации не должно попадать в репозиторий. В этом уроке вы узнаете, как проигнорировать эти файлы.
Как правило, эти файлы не несут никакой пользы с точки зрения исходного кода. Они создаются:
Автоматически (кеши, логи)
По запросу (например, скачиваются зависимости или собирается проект)
Главная проблема с этими файлами в их постоянном изменении — особенно при очень больших размерах проекта. Если добавлять их в репозиторий, то практически в каждом коммите будут не только изменения исходного кода, но и пачка изменений в этих файлах. Читать историю таких коммитов крайне сложно.
Git позволяет гибко настраивать игнорирование определенных файлов и директорий. Делается это с помощью файла .gitignore, который нужно создать в корне проекта. В этот файл с помощью текстового редактора добавляются имена файлов и директорий, которые надо игнорировать:
Git поддерживает игнорирование файлов, но сам его не настраивает. Для игнорирования файлов и директорий, программист должен создать файл .gitignore в корне проекта и добавить его в репозиторий. Пример вы можете посмотреть здесь.
Продолжим работать с .gitignore:
Как только .gitignore создан и в него добавлен какой-то файл или директория, игнорирование заработает автоматически. Все новые файлы, попадающие под игнорирование, не отобразятся в выводе команды git status
.
Иногда бывает такое, что программист случайно уже добавил в репозиторий файл, который нужно проигнорировать. В этой ситуации недостаточно обновить правила игнорирования. Дополнительно придется удалить файл или директорию из Git с помощью git rm
и закоммитить.
Самостоятельная работа
Добавьте файл .gitignore в проект
Добавьте файл INFO.md в список игнорируемых файлов
Удалите файл INFO.md из репозитория
Создайте файл INFO.md и убедитесь в том, что
git status
его не отображаетЗалейте изменения на GitHub