Зачем игнорировать файлы
Часть раздела Контроль версий путешествия по Terminal на Coddy — урок 19 из 58.
Большинство реальных проектов создают файлы, которые вы не хотите хранить в системе контроля версий: результаты сборки, логи, секреты окружения, кэши редакторов и файлы, созданные инструментами.
Отслеживание этих файлов загромождало бы вывод каждой команды git status, раздувало бы репозиторий и создавало бы риск утечки конфиденциальных данных, таких как API-ключи.
Git решает эту проблему с помощью специального файла под названием .gitignore. Он находится в корне вашего репозитория и содержит список шаблонов, которые Git должен игнорировать.
node_modules/
.env
*.log
build/Файлы, соответствующие любому шаблону в .gitignore, становятся невидимыми для Git: они не будут отображаться как неотслеживаемые, их нельзя будет подготовить к коммиту и они не будут зафиксированы.
Сам файл .gitignore обычно фиксируется в репозитории, чтобы у всех, кто работает над проектом, были одинаковые правила игнорирования.
Задание
НовичокПапка содержит app.js и временный файл debug.log. Инициализируйте репозиторий, создайте файл .gitignore, содержащий одну строку *.log, затем выполните git status --short.
Только .gitignore и app.js должны отображаться как неотслеживаемые. debug.log не должен.
Шпаргалка
.gitignore содержит шаблоны файлов, которые Git должен игнорировать (неотслеживаемые, неиндексируемые, незафиксированные). Разместите его в корне репозитория и зафиксируйте его.
node_modules/ # игнорировать директорию
.env # игнорировать конкретный файл
*.log # игнорировать по расширению
build/ # игнорировать папку сборкиПопробуйте сами
В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Контроль версий
2Начало работы
Инициализация репозиторияПапка .gitНастройка данных пользователяGit StatusИтоги — первый репозиторий5Игнорирование файлов
Зачем игнорировать файлыШаблоны .gitignoreПроверка правил игнорированияИтоги: чистый репозиторий8Слияние
Что такое слияниеСлияние Fast-ForwardТрёхстороннее слияниеКонфликты слиянияРазрешение конфликтаИтоги — Мастер слияния11Проект: Feature Branch
Обзор проектаИнициализация Main3Отслеживание изменений
Область подготовкиGit AddGit CommitИзменение отслеживаемого файлаGit LogИтоги: первые коммиты6Проект: Сайт рецептов
Обзор проектаИнициализация и игнорирование