Skip to content

Что такое gitignore

Если вы работаете с системой контроля версий Git, с gitignore нужно подружиться сразу. Это механизм исключения файлов/папок из репозитория.

Что обычно исключают

  • Динамические файлы:
    • загруженные пользователями файлы;
    • логи;
    • временные файлы.
  • Файлы с секретами:
    • пароли;
    • токены;
    • строки подключения к БД и т. п.

Способ 1. Файл .gitignore в проекте

Файл .gitignore лежит в репозитории и содержит правила исключения с относительными путями. Он версионируется, поэтому любой разработчик, клонировавший проект, автоматически получает корректные правила.

Простейший пример:

gitignore
node_modules/
storage/
*.log
.env

Способ 2. Глобальный файл исключений

Глобальный файл можно положить в любое место и назвать как угодно. Затем сообщаем Git'у:

bash
git config --global core.excludesfile ~/.gitignore_global

В этом случае все правила из ~/.gitignore_global будут применяться ко всем репозиториям на машине.

Зачем нужен глобальный gitignore

Предположим, вы работаете с продуктами JetBrains (PhpStorm, RubyMine, IntelliJ IDEA и т. д.). Они создают в корне проекта папку .idea со своими настройками, которую в Git обычно добавлять не нужно.

Варианты:

  • добавлять правило .idea/ во все проекты;
  • один раз прописать его в ~/.gitignore_global и забыть.

Официальная документация по синтаксису и возможностям — в мануале Git:
https://git-scm.com/docs/gitignore