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

.gitignore --- Игнорирование файлов

Не всё в папке вашего проекта должно попадать в Git. Артефакты сборки, папки зависимостей, секретные файлы и системный мусор должны оставаться за пределами репозитория. Файл .gitignore указывает Git, какие файлы и директории следует игнорировать.

Как это работает

Создайте файл с именем .gitignore в корне вашего репозитория. Каждая строка --- это шаблон, который Git будет пропускать при отслеживании файлов:

node_modules/
.env
*.log
.DS_Store

Файлы, соответствующие этим шаблонам, не будут отображаться в git status и не будут проиндексированы командой git add ..

Типичные шаблоны

ШаблонЧто совпадает
node_modules/Вся директория node_modules
*.logЛюбой файл с расширением .log
.envКонкретный файл с именем .env
dist/Директория с результатами сборки
*.tmpВсе временные файлы
.DS_StoreМетаданные Finder в macOS
__pycache__/Директория кэша Python
*.oСкомпилированные объектные файлы

Правила шаблонов

  • Пустые строки игнорируются (используйте их для читаемости)
  • Строки, начинающиеся с #, являются комментариями
  • Завершающий / означает «только директория»
  • Начальный ! инвертирует шаблон (возвращает файл в отслеживание)
  • * совпадает с чем угодно, кроме /
  • ** совпадает через директории

Пример с инверсией:

*.log
!important.log

Это игнорирует все файлы .log, кроме important.log.

Попробуйте!

Репозиторий уже инициализирован. Создайте файлы, которые должны быть проигнорированы:

  1. Создайте файлы для игнорирования: echo "secret" > .env и echo "debug info" > debug.log
  2. Проверьте статус: git status (оба файла отображаются как неотслеживаемые)
  3. Создайте файл .gitignore: echo -e ".env\n*.log" > .gitignore
  4. Проверьте статус снова: git status (теперь отображается только .gitignore!)
  5. Проиндексируйте и зафиксируйте: git add .gitignore, затем git commit -m "Add gitignore file"
  6. Убедитесь, что игнорируемые файлы всё ещё на диске: ls -a

Файлы по-прежнему находятся в вашей папке --- Git просто делает вид, что их не существует.

Важно: уже отслеживаемые файлы

Если файл уже отслеживается Git (был ранее зафиксирован), добавление его в .gitignore не удалит его. Сначала нужно снять его с отслеживания:

git rm --cached secret.txt

Затем сделайте коммит, и с этого момента .gitignore будет действовать.

🎯

Цель

Создайте файл .gitignore для игнорирования лог-файлов

Terminal
$

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